Найдите натуральные числа, не превосходящие n, которые делятся ** каждую из своих цифр.

0 голосов
62 просмотров

Найдите натуральные числа, не превосходящие n, которые делятся на каждую из своих цифр.


Информатика (24 баллов) | 62 просмотров
Дан 1 ответ
0 голосов

Var
    n, i, a, k:
 integer;
    f: boolean;
begin
    readln(n);
    for i := 1 to n do
        begin
        a := i;
        f := true;
        while a > 0 do
            begin
            k := a mod 10;
            a := a div 10;
            if (k = 0) or (i mod k <> 0) then //если в числе есть 0, то считать что на 0 не делится, иначе замените = на <>
                f := False;
            end;
        if f then
               write(i, ' ');
        end;
end.

(3.6k баллов)