← К задачам
Средне · +3Динамическое программированиеЕГЭ задание 23Исполнитель

Число программ Утроителя через контрольную точку C

Исполнитель «Утроитель» работает с натуральным числом. У него две команды:

  1. прибавь 1 — увеличивает число на 1;
  2. умножь на 3 — умножает число на 3.

Программа — последовательность команд. Напишите функцию count_programs_via(a, c, b), которая возвращает количество различных программ, переводящих число a в число b так, чтобы программа обязательно проходила через число c (значение c встречается по ходу выполнения). Числа строго возрастают.

Подсказка: искомое число равно произведению количества программ a → c на количество программ c → b.

Формат входа: три целых числа a, c, b.

Формат выхода: целое число — количество программ, проходящих через c (0, если c < a или c > b).

Примеры:

  • count_programs_via(1, 3, 9)4.
  • count_programs_via(2, 6, 18)4.
def count_programs_via(a, c, b):
    # Число программ a -> b, обязательно проходящих через c.
    # ваш код
    pass
Для запуска тестов необходима авторизация.