1) Сразу ясно, что невозможно, так как максимальное число, которое мы можем получить - это 81 (пермножается наибольшая цифра 9) 2) Здесь уже надо подумать. Из нашего условия видно, что второе число повторяется дважды и там и там. То есть эти два числа (в данном случае 35 и 56) будут иметь одинаковый множитель "второе число". На это и будем опираться. Посмотрим. 35 можно получить из произведения 5 на 7, а число 56 - из произведения 8 на 7. Заметим, что цифра 7 повторяется там и там, то бишь это и есть наша вторая цифра => может оказаться результатом работы автомата. 3) Здесь 32 можно получить, перемножив цифры 8 и 4, а 16 - 2 на 8. Повторяется 8 => может оказаться результатом работы автомата. 4) Делители 35 - это 5 и 7, у 72 - это 9 и 2^3 (8). Здесь уже нет общих делителей. (9 умножить на 2 не получиться, так как это уже будет не цифрой. Только 9 и 8) => не может быть результатом работы автомата.
1)
var a:array [1..100] of integer;
n,i:integer;
begin
for i:=10 to 99 do begin
a[i]:=i;
if (a[i] mod n=0) then writeln(a[i]);
end;
end.
2)
var a:array [1..100] of integer;
n,k,i,x,y,z: integer;
begin
readln(n,k);
for i:=n to k do begin
a[i]:=i;
x:=a[i] mod 10;
y:=a[i] div 10;
z:=y mod 10;
y:=y div 10;
if (x=y) or (x=z) or (y=z) then writeln(a[i]);
end;
end.
3)
var a,n,an,na: integer;
begin
readln(a,n);
if (a>0) and (b>0) then begin
an:=a*10+n;
na:=n*10+a else writeln('Введены неверные числа!');
end;
end.