Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №23
  • Задание №23
  • Задание №88229 ЕГЭ Информатике

    Условие задания #88229

    №23 по КИМ

    Исполнитель преобразует число на экране.

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

    1.  Прибавить 1.

    2.  Умножить на 2.

    Первая команда увеличивает число на экране на 1, вторая умножает его на 2.

    Программа для исполнителя  — это последовательность команд. Например, если в начальный момент на экране находится число 1, то программа 212 последовательно преобразует его в 2, 3, 6.

    Сколько существует программ, которые преобразуют исходное число 1 в число 16 и при этом никакая команда не повторяется более двух раз подряд?

    Ответ

    Ответ:

    5

    Решение

    def f(start, end, k, c):
        if start > end:
            return 0
        if start == end:
            return 1
        if start < end:
            if k == c == '+':
                return f(start*2, end, '*', k)
            elif k == c == '*':
                return f(start + 1, end, '+', k)    
            else:
                return f(start + 1, end, '+', k)  + f(start * 2, end, '*',k) 
    print(f(1, 16, '0', '0'))

    Видеоразбор:

    Понятно ли решение?

    Похожие задания

    15
    Задание №84921Задание №83983Задание №35239Задание №84941Задание №84942Задание №84938Задание №84939Задание №84940Задание №83984Задание №88225Задание №88226Задание №88227Задание №88228Задание №88270Задание №84946
    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме