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

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

Паскаль. Найти все натуральные числа, не превосходящие заданного 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 (p<>0)and(i mod p=0) then write(i, ' ');
end;
End.


Информатика (985 баллов) | 130 просмотров
Дан 1 ответ
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.





(9.7k баллов)