подсказать в программе, у меня есть свой код, но он не правильный точно. язык 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.
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 <> 0 do
begin
c:=j mod 10;
if (c = 0)or(i mod c <> 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