Расшифровать ребус числовой - 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.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • D, O, S, K, I, Z, A, B, R с типом Integer.
  2. Выполняется цикл от 1 до 2 для переменной D.
  3. Выполняется цикл от 0 до 9 для переменной O с условием, что D не равно O.
  4. Выполняется цикл от 0 до 9 для переменной S с условием, что D не равно S и O не равно S.
  5. Выполняется цикл от 0 до 9 для переменной K с условием, что D не равно K, O не равно K, и S не равно K.
  6. Выполняется цикл от 0 до 9 для переменной I с условием, что D не равно I, O не равно I, S не равно I, и K не равно I.
  7. Выполняется цикл от 4 до 9 для переменной Z с условием, что D не равно Z, O не равно Z, S не равно Z, K не равно Z, и I не равно Z.
  8. Выполняется цикл от 0 до 9 для переменной A с условием, что D не равно A, O не равно A, S не равно A, K не равно A, I не равно A, и Z не равно A.
  9. Выполняется цикл от 0 до 9 для переменной B с условием, что D не равно B, O не равно B, S не равно B, K не равно B, I не равно B, Z не равно B, и A не равно B.
  10. Выполняется цикл от 0 до 9 для переменной R с условием, что D не равно R, O не равно R, S не равно R, K не равно R, I не равно R, Z не равно R, A не равно R, и B не равно R.
  11. Проверяется условие: умноженная на 4 сумма чисел D, O, S, K, и I равна сумме чисел Z, A, B, O, и R. Если условие выполняется, то выводится результат умножения исходных чисел в виде D O S K I x 4 = Z A B O R.
  12. Выводится сообщение end.. В этом коде происходит перебор всех возможных комбинаций значений для чисел D, O, S, K, I, Z, A, B, иR` в заданных пределах и проверяется выполнение условия для этих значений.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы