Найти тему

Разбор номера 11240 ЕГЭ по информатике #23

Оглавление

Условие: № 11240 (Уровень: Средний) задача с сайта kompege.ru
Статья подготовлена командой itpy
Полный разбор задачи в Notion

(М. Ишимов) Исполнитель преобразует число на экране.
У исполнителя есть три команды, которые обозначены латинскими буквами:

A. Прибавить 2
B. Возвести в квадрат
C. Умножить на 3

Программа для исполнителя – это последовательность команд.

Сколько существует программ, для которых при исходном числе 2 результатом является число 64, если после выполнения команды 
B можно выполнить только команду A или C?

Решение через Python и комментарии к нему:

-2

Комментарии к коду решения:

  1. def F(a, b, flag): - Определение функции F с параметрами a - переменная старта и траектории, b - переменная стоп, и flag - переменная для учета действий.
  2. if a >= b: - Проверка условия: если a больше или равно b (то есть переменная a превысила наше условие b).
  3. return a == b - Возвращаем результат сравнения a и b (True, если равны, иначе False).
  4. if flag == "B": - Проверка условия: если flag равен "B" (если на предыдущем шаге была выполнена команда "B”.
  5. return F(a + 2, b, "A") + F(a * 3, b, "C") - Рекурсивный вызов функции F с новыми параметрами исходя из условий.
  6. return F(a + 2, b, "A") + F(a**2, b, "B") + F(a * 3, b, "C") - Рекурсивный вызов функции F с новыми параметрами.
  7. print(F2, 64, 0)) - Вывод результата вызова функции F с начальными параметрами (2, 64, 0).

Ответ: 55

Читайте нас в телеграмме:

Информатика ЕГЭ | itpy 👨‍💻

Присоединяйся к нашему Телеграм каналу: t.me/informatika_kege_itpy
Присоединяйся к нашему Телеграм каналу: t.me/informatika_kege_itpy