Задача "конкурс эрудит" - QBasic

Узнай цену своей работы

Формулировка задачи:

помогите решить задачу. В первом туре школьного конкурса «Эрудит» в четверку лучших вошли: Дима, Катя, Миша и Нина. И конечно, болельщики высказывали свои предположения о распределении мест во втором, финальном туре. Один считал, что первым будет Дима, а Миша будет вторым. Другой болельщик выразил надежду на то, что Катя займет четвертое место, а второе место достанется Нине. Третий же был уверен в том, что Катя займет третье место, а на втором месте будет Дима. В результате оказалось, что каждый из болельщиков был прав только в одном из своих прогнозов. Какие места заняли Дима, Катя, Миша, Нина? В ответе перечислите подряд без пробелов числа, соответствующие местам в указанном порядке имен.

Решение задачи: «Задача "конкурс эрудит"»

textual
Листинг программы
DIM d AS LONG, k AS LONG, m AS LONG, n AS LONG
FOR d = 1 TO 4
  FOR k = 1 TO 4
    IF k <> d THEN
      FOR m = 1 TO 4
        IF m <> k AND m <> d THEN
          FOR n = 1 TO 4
            IF n <> m AND n <> k AND n <> d THEN
              IF (d = 1 AND m <> 2 OR d <> 1 AND m = 2) AND (k = 4 AND n <> 2 OR k <> 4 AND n = 2) AND (k = 3 AND d <> 2 OR k <> 3 AND d = 2) THEN
                    PRINT LTRIM$(STR$(d)) + LTRIM$(STR$(k)) + LTRIM$(STR$(m)) + LTRIM$(STR$(n))
              END IF
            END IF
          NEXT
        END IF
      NEXT
    END IF
  NEXT
NEXT

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

  1. В этом коде четыре вложенных цикла FOR, которые перебирают все возможные комбинации чисел от 1 до 4.
  2. Внутренний цикл проверяет, не равно ли текущее значение переменной k переменной d. Если это так, то проверяется, не равно ли текущее значение переменной m переменной k или d. Если это так, то проверяется, не равно ли текущее значение переменной n переменной m, k или d.
  3. Если все эти условия выполняются, то проверяется, является ли комбинация чисел (d, m, n) эквивалентной комбинации чисел (1, 2, 3) или (1, 2, 4) или (1, 3, 4) или (2, 3, 4). Если это так, то выводится строка, сформированная из значений переменных d, k, m и n.
  4. Этот код, вероятно, используется для решения задачи конкурс эрудит, которая требует определить, является ли данная комбинация чисел эквивалентной определенной комбинации чисел.

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

10   голосов , оценка 4.1 из 5