Составьте программу на паскале(с циклических алгоритмов (простых и вложенных),используя операции целочисленной арифметики): найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр. и если можно, добавьте описание к строчкам, чтобы понять, что вы делали; просто не всегда бывает понятна суть программы. заранее ).

найксон найксон    1   30.08.2019 04:10    1

Ответы
tanyagrygorieva tanyagrygorieva  10.08.2020 01:49
Var N,B,k:integer;
Begin
Write('N = ');ReadLn(N);
Write('Искомые числа:');
For N:= 1 to N do
    Begin
    B:=N;
    k:=1;
    // перед каждой проверкой k:=1
    // и если число не делится на любую из своих цифр, то k:=0
    While B > 0 do
       Begin
       if B mod 10 = 0 then k:=0
       // B mod 10 - это остаток от деления B на 10
       // то есть, например, 123 mod 10 = 3
       else if N mod (B mod 10) > 0 then k:=0;
       B:=B div 10
       // целая часть от деления B на 10
       // 123 div 10 = 12
       End;
    if k = 1 then Write(' ',N)
    End;
End.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика