Задать вопрос
21 сентября, 13:27

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

Попробовал сам написать, но ошибся.

var n, i, p, t:integer;

Begin

write ('Введите число n=') ;

readln (n) ;

for i:=1 to n do

begin

t:=i;

p:=t mod 10;

t:=t div 10;

if (p0) and (i mod p=0) then write (i, ' ') ;

end;

End.

+2
Ответы (1)
  1. 21 сентября, 13:52
    0
    Var s: string;

    i, n, k, m: integer;

    begin

    write ('n = ') ; readln (n) ;

    for i:=1 to n do

    begin

    s:=IntToStr (i) ;

    m:=0;

    for k:=1 to length (s) do

    if (ord (s[k]) - 48=0) or (i mod (ord (s[k]) - 48) 0) then

    begin

    m:=1;

    break;

    end;

    if m=0 then write (i,' ') ;

    end;

    end.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Паскаль. Найти все натуральные числа, не превосходящие заданного n и делящиеся на каждую из своих цифр. Попробовал сам написать, но ошибся. ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы