Найти в Дзене

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

Автор: Л. Шастин Уровень: Средний У исполнителя есть три команды, которым присвоены номера: A. Прибавить 2
B. Прибавить 3
C. Умножить на 2 Сколько существует программ, для которых при исходном числе 3 результатом является число 20, а последняя в них команда - A или С? В данной задачи для исследования порядка команд мы передаем строчный аргумент С, который принимает номера каждой новой команды. Таким образом мы можем проверить последнюю команду на условие. Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻 Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!
Оглавление

Автор: Л. Шастин

Уровень: Средний

Условие задачи:

У исполнителя есть три команды, которым присвоены номера:

A. Прибавить 2
B. Прибавить 3
C. Умножить на 2

Сколько существует программ, для которых при исходном числе 3 результатом является число 20, а последняя в них команда - A или С?

Теоретическая справка:

В данной задачи для исследования порядка команд мы передаем строчный аргумент С, который принимает номера каждой новой команды. Таким образом мы можем проверить последнюю команду на условие.

Код решения:

Ответ: 60
Ответ: 60

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

  1. def F(a,b, c: str):
    Объявление функции F с тремя параметрами: числовыми параметрами a, b и строковым параметром c
  2. if a >= b:
    Проверяем, если значение a больше или равно значению b
  3. return a == b and c[-1] != 'B'
    Возвращаем результат логического выражения, которое проверяет, что a равно b и последняя буква строки c не равна 'B'
  4. return F(a + 2, b, c + 'A') + F(a + 3, b, c + 'B') + F(a*2, b, c + 'C')
    В противном случае возвращаем сумму результатов рекурсивных вызовов функции F с измененными параметрами: добавляем к a значения 2, 3 и умножаем его на 2, а к строке c добавляем 'A', 'B' и 'C' соответственно
  5. print(F(3,20,''))
    Вызываем функцию F с начальными аргументами 3, 20 и пустой строкой, затем выводим результат вызова
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!