Напишите программу, которая вводит натуральное число и находит все числа на отрезке [0, N], сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8 и 9 (например, число 9). Используйте функцию для вычисления суммы цифр числа.
На КУМИР срочно!!
Answers & Comments
Ответ:
var
n, i, aon_i, k: integer;
f: boolean;
function AmountOfNumbers(n: integer): integer;
var
s: integer;
begin
s := 0;
while n > 0 do
begin
s := s + n mod 10;
n := n div 10;
end;
AmountOfNumbers := s;
end;
begin
readln(n);
for i := 0 to n do
begin
f := true;
aon_i := AmountOfNumbers(i);
for k := 2 to 9 do
f := f and (aon_i = AmountOfNumbers(k * i));
if f then writeln(i);
end;
end.
Объяснение: