На заданном числовом промежутке найти пары чисел, произведение которых содержит цифры большего множителя - Free Pascal
Формулировка задачи:
Помогите с задачек
На заданном числовом промежутке требуется найти пары чисел, произведение которых содержит цифры большего множителя, "раздвинутые вклинившимися" нулями, например, 111*91=10101, 480*85=40800(задача Рачинского)
Решение задачи: «На заданном числовом промежутке найти пары чисел, произведение которых содержит цифры большего множителя»
textual
Листинг программы
function zero(m:integer):longint; var n,k:longint; begin n:=m mod 10; m:=m div 10; k:=10; while m>0 do begin n:=(m mod 10)*10*k+n; m:=m div 10; k:=k*100; end; zero:=n end; var a,b,i,j,k:longint; c,d:longint; begin writeln('Введите диапазон чисел'); readln(a,b); k:=0; for i:=a to b-1 do for j:=i+1 to b do begin c:=i*j; d:=zero(j); if c=d then begin k:=1; writeln(i,'*',j,'=',c); end; end; if k=0 then write('Таких пар чисел нет'); readln end.
Объяснение кода листинга программы
Этот код на языке Free Pascal выполняет поиск пар чисел на заданном числовом промежутке, произведение которых содержит цифры большего множителя. Список действий в коде:
- Функция zero(m: integer) принимает целое число m и возвращает наибольший общий делитель (НОД) чисел m и 10.
- В цикле while происходит деление числа m на 10 и обновление переменных n и k.
- В каждой итерации цикла пока переменная m больше 0 происходит умножение чисел m и n, обновление переменных n и k, а затем деление числа m на 10.
- В конце функции zero(m: integer) возвращается значение переменной n.
- В цикле for происходит перебор чисел в заданном диапазоне.
- Для каждой пары чисел i и j выполняется проверка на равенство произведения этих чисел значению переменной zero(j).
- Если условие выполняется, то переменной k присваивается значение 1 и выводится сообщение с числом i, числом j и их произведением.
- После завершения циклов выводится сообщение о наличии или отсутствии пар чисел, удовлетворяющих условию.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д