1995 |
Рассматриваются цепочки из нулей и единиц одинаковой
(большой) длины. Над ними можно выполнять следующие
операции:
- NOT - все нули заменяются единицами, а
единицы - нулями (у этой операции один аргумент);
- AND - операция с двумя аргументами: числа,
стоящие в одинаковых местах, умножаются, и полученное
число записывается в то же место результата;
- OR - операция с двумя аргументами: числа,
стоящие в одинаковых местах, сравниваются, и
наибольшее из них записывается в то же место
результата. Таким образом, OR(a, b) =
NOT(AND(NOT(a), NOT(b))).
Напишите программу, которая вводит натуральное число
N (N ≤ 1995), четыре цепочки
a, b, c и d
длины N и определяет:
- можно ли последовательным применением
перечисленных операций получить d из
a, b и c;
- при утвердительном ответе строит нужную
последовательность операций (достаточно одной
последовательности).
Пример 1. Для N=6, a=011000,
b=111010, c=010001 и d=100010,
вывод программы может быть следующим:
(1) Да
(2) AND(NOT(a),OR(b,a))
Пример 2. Для N=6, a=011000,
b=111010, c=010001 и d=000010,
ответ на пункт (1) отрицательный.
|
|