Предмет: Информатика,
автор: niceredfox
Ребус
Написать программу для решения арифметического ребуса
Я + ОН + ОН + ОН + ОН + ОН + ОН + ОН + ОН = МЫ где различные буквы надо
заменить на различные цифры. Вывести количество различных решений для этого ребуса.
niceredfox:
PASCAL
Ответы
Автор ответа:
1
Во первых, прежде чем мы напишем программу, обратим внимание на тот факт, что БУКВА О равна 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 различных ответов!!!
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 различных ответов!!!
Похожие вопросы
Предмет: Русский язык,
автор: akonya24
Предмет: Русский язык,
автор: Darlin111
Предмет: Қазақ тiлi,
автор: ggooaa100
Предмет: Математика,
автор: strepsils123
Предмет: Химия,
автор: liza3557