Регистрация
Войти
Стать экспертом Правила
Информатика

Прошу подсказать в программе, у меня есть свой код, но он не правильный точно. Язык pascal

Программа вводит натуральные числа a и b и выводит на экран все натуральные числа на отрезке [a, b] делящиеся на каждую из своих цифр

var
a, b, k, t, m, i, p, d, j: integer;

begin

write('Enter a and b: ');
readln(a, b); //10 20

t : = 0;
repeat
k : = a + 1;
j : = k;
t : = k;
while j <> 0 do
begin
p : = j mod 10;
d : = d + 1;
j : = j div 10;
// стало 0
end;
for i : = 1 to d do //по количеству знаков делает
begin
if not (k / t mod 10 = 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9)

then m : = m - 1;
t : = t div 10;
end;
if m > 0 then
writeln(k);
until a = b;

end.

ОТВЕТЫ
Var
a, b, i, j, c: integer;
f:boolean;

begin
write(Enter a and b: );
readln(a, b); //10 20
for i:=a to b do
 begin
 f:=true;
 j:=i;
 while j lt;gt; 0 do 
  begin
  c:=j mod 10;
  if (c = 0)or(i mod c lt;gt; 0) then f:=false;
  j := j div 10;
  end;
 if f then writeln(i);
 end;
end.

Пример:
Enter a and b: 10 20
11
12
15
75
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам