Расшифровать ребус числовой - Pascal
Формулировка задачи:
ДОСКИ * 4 = ЗАБОР
Решение задачи: «Расшифровать ребус числовой»
textual
Листинг программы
var D, O, S, K, I, Z, A, B, { O, } R : Integer; begin for D := 1 to 2 do { 3*4=12, значит чило разрядов результата должно быть 6 } for O := 0 to 9 do if D <> O then for S := 0 to 9 do if (D <> S) and (O <> S) then for K := 0 to 9 do if (D <> K) and (O <> K) and (S <> K) then for I := 0 to 9 do if (D <> I) and (O <> I) and (S <> I) and (K <> I) then for Z := 4 to 9 do { при Д=1 значение З=4 и меньше быть не может } if (D <> Z) and (O <> Z) and (S <> Z) and (K <> Z) and (I <> Z) then for A := 0 to 9 do if (D <> A) and (O <> A) and (S <> A) and (K <> A) and (I <> A) and (Z <> A) then for B := 0 to 9 do if (D <> B) and (O <> B) and (S <> B) and (K <> B) and (I <> B) and (Z <> B) and (A <> B) then for R := 0 to 9 do if (D <> R) and (O <> R) and (S <> R) and (K <> R) and (I <> R) and (Z <> R) and (A <> R) and (B <> R) then if ((((D*10 + O)*10 + S)*10 + K)*10 + I)*4 = (((Z*10 + A)*10 + B)*10 + O)*10 + R then WriteLn(D, O, S, K, I, ' х 4 = ', Z, A, B, O, R); WriteLn('end.'); end.
Объяснение кода листинга программы
- Объявляются переменные:
D
,O
,S
,K
,I
,Z
,A
,B
,R
с типом Integer.
- Выполняется цикл от 1 до 2 для переменной
D
. - Выполняется цикл от 0 до 9 для переменной
O
с условием, чтоD
не равноO
. - Выполняется цикл от 0 до 9 для переменной
S
с условием, чтоD
не равноS
иO
не равноS
. - Выполняется цикл от 0 до 9 для переменной
K
с условием, чтоD
не равноK
,O
не равноK
, иS
не равноK
. - Выполняется цикл от 0 до 9 для переменной
I
с условием, чтоD
не равноI
,O
не равноI
,S
не равноI
, иK
не равноI
. - Выполняется цикл от 4 до 9 для переменной
Z
с условием, чтоD
не равноZ
,O
не равноZ
,S
не равноZ
,K
не равноZ
, иI
не равноZ
. - Выполняется цикл от 0 до 9 для переменной
A
с условием, чтоD
не равноA
,O
не равноA
,S
не равноA
,K
не равноA
,I
не равноA
, иZ
не равноA
. - Выполняется цикл от 0 до 9 для переменной
B
с условием, чтоD
не равноB
,O
не равноB
,S
не равноB
,K
не равноB
,I
не равноB
,Z
не равноB
, иA
не равноB
. - Выполняется цикл от 0 до 9 для переменной
R
с условием, чтоD
не равноR
,O
не равноR
,S
не равноR
,K
не равноR
,I
не равноR
,Z
не равноR
,A
не равноR
, иB
не равноR
. - Проверяется условие: умноженная на 4 сумма чисел
D
,O
,S
,K
, иI
равна сумме чиселZ
,A
,B
,O
, иR
. Если условие выполняется, то выводится результат умножения исходных чисел в видеD O S K I x 4 = Z A B O R
. - Выводится сообщение
end.
. В этом коде происходит перебор всех возможных комбинаций значений для чиселD
,O
,S
,K
,I
,Z
,A
,B
,и
R` в заданных пределах и проверяется выполнение условия для этих значений.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д