Решить ребус (7 * Дни = Годы) - Free Pascal
Формулировка задачи:
Помогите решить задачу-ребус.
Условие:
ДНИ
+
ДНИ
+
ДНИ
+
ДНИ
+
ДНИ
+
ДНИ
+
ДНИ
=
ГОДЫ
Решение задачи: «Решить ребус (7 * Дни = Годы)»
textual
Листинг программы
- var
- d, n, i, g, o, s: integer;
- m: set of byte;
- begin
- m := [];
- for d := 1 to 9 do
- if not (d in m) then
- begin
- Include(m, d);
- for n := 0 to 9 do
- if not (n in m) then
- begin
- Include(m, n);
- for i := 0 to 9 do
- if not (i in m) then
- begin
- Include(m, i);
- for g := 1 to 9 do
- if not (g in m) then
- begin
- Include(m, g);
- for o := 0 to 9 do
- if not (o in m) then
- begin
- Include(m, o);
- for s := 0 to 9 do
- if not (s in m) then
- begin
- Include(m, s);
- if 7 * (d * 100 + n * 10 + i) = g * 1000 + o * 100 + d * 10 + s then
- WriteLn('7 * ', d, n, i, ' = ', g, o, d, s);
- Exclude(m, s)
- end;
- Exclude(m, o)
- end;
- Exclude(m, g)
- end;
- Exclude(m, i)
- end;
- Exclude(m, n)
- end;
- Exclude(m, d)
- end;
- ReadLn
- end.
Объяснение кода листинга программы
- Создается пустое множество
m
для хранения чисел от 0 до 9. - Запускается цикл
for
для чиселd
от 1 до 9. - Проверяется, есть ли текущее число
d
уже в множествеm
. Если нет, то оно добавляется. - Запускается второй цикл
for
для чиселn
от 0 до 9. - Проверяется, есть ли текущее число
n
уже в множествеm
. Если нет, то оно добавляется. - Запускается третий цикл
for
для чиселi
от 0 до 9. - Проверяется, есть ли текущее число
i
уже в множествеm
. Если нет, то оно добавляется. - Запускается четвертый цикл
for
для чиселg
от 1 до 9. - Проверяется, есть ли текущее число
g
уже в множествеm
. Если нет, то оно добавляется. - Запускается пятый цикл
for
для чиселo
от 0 до 9. - Проверяется, есть ли текущее число
o
уже в множествеm
. Если нет, то оно добавляется. - Запускается шестой цикл
for
для чиселs
от 0 до 9. - Проверяется, есть ли текущее число
s
уже в множествеm
. Если нет, то оно добавляется. - Проверяется условие равенства 7 (d 100 + n 10 + i) = g 1000 + o 100 + d 10 + s.
- Если условие выполняется, то выводится сообщение '7 * ', d, n, i, ' = ', g, o, d, s.
- Число
s
удаляется из множестваm
. - Число
o
удаляется из множестваm
. - Число
g
удаляется из множестваm
. - Число
i
удаляется из множестваm
. - Число
n
удаляется из множестваm
. - Число
d
удаляется из множестваm
. - Запускается цикл
ReadLn
для чтения следующего ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д