Олимпиадный тренинг

Задача . Логическая цепочка (2020-21, 11 кл)


Задача

Темы:
Вася сконструировал логический преобразователь. На вход преобразователя подается двоичная последовательность длиной в N бит (N>3). На выходе получается одно логическое значение: истина или ложь. Преобразователь работает по следующему алгоритму:
1. Первый бит последовательности считая слева направо принимается за текущий.
2. Берутся последовательно 3 бита, начиная с текущего. Их значения интерпретируются как значения логических переменных A, B и C соответственно. При этом единичное значение первого бита считается за истинное значение переменной A, а нулевое – за ложное. Аналогично для переменных B и C.
3. Вычисляется значение логической функции: F(A,B,C) = (A ˄ B → C) ˄ (¬ (A ˅ ¬ B) → ¬ C).
4. Если F(A,B,C) приняло ложное значение, алгоритм завершается со значение «ложь» на выходе.
5. Если F(A,B,C) приняло истинное значение, и значение C соответствовало последнему биту последовательности, алгоритм завершается со значение «истина» на выходе.
6. Если F(A,B,C) приняло истинное значение, и значение C было не последним битом последовательности, номер текущего бита увеличивается на единицу и происходит переход на шаг 2.
Вася перепробовал все последовательности длиной N бит и увидел, что только для 611 из них преобразователь получил значение «истина» на выходе. Определите N и запишите в ответ целое число.

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя