Во первых, прежде чем мы напишем программу, обратим внимание на тот факт, что БУКВА О равна 1, что существенно уменьшит количество переборов в цикле. Запишем это выражение в виде:
A+8*(10+N)=(10*M+Y)
У нас получилось 4 вложенных цикла:
uses Crt;
var A, N, M, Y: integer;
begin
ClrScr;
for A:=0 to 9 do
for N:=0 to 9 do
if (A<>N) then
for M:=1 to 9 do
if (A<>M) and (N<>M) then
for Y :=0 to 9 do
if (A<>Y) and (N<>Y) and (M<>Y) then
if (A+8*(10+N)=10*M+Y) then
begin
Write('Я=', A,' ');
Write('O=', 1,' ');
Write('Н=', N,' ');
Write('M=', M,' ');
Write('Ы=', Y,' ');
WriteLn;
end;
ReadLn;
end.
И всего 8 различных ответов!!!