Решить ребус (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
для чтения следующего ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д