Найти наибольшее число M (M>1) на которое сумма цифр числа N делится без остатка. - Turbo Pascal
Формулировка задачи:
Дано натуральное число N. Найти наибольшее число M (M>1) на которое сумма цифр числа N делится без остатка. Если такого числа нет,то вывести слово нет. 2. На отрезке [2, n] найти все натуральные числа, сумма цифр которых при умножении числа на а не изменятся. Пожалуйста помогите.
Решение задачи: «Найти наибольшее число M (M>1) на которое сумма цифр числа N делится без остатка.»
textual
Листинг программы
for i:=(sum div 2) downto 2 do
begin
if sum mod i=0 then
begin
writeln('максимальное равно ', i);
break;
end;
end;
Объяснение кода листинга программы
- Переменная
sumпредставляет собой сумму цифр числаN. - Цикл
forначинается с выраженияsum div 2, гдеdivозначает деление, а2это предполагаемое максимальное значение, на которое сумма цифр может делиться без остатка. - Затем цикл продолжается до тех пор, пока условие
sum mod i=0не станет истинным. - Если это условие истинно, то выводится сообщение с максимальным значением
i, и цикл прерывается командойbreak. - Если условие не выполняется, то цикл продолжается до следующего итерации.