Задача к ЕГЭ по информатике на тему «простейшие исполнители и алгоритмы» №1

Исполнитель КВАДРАТОР имеет две команды, которым присвоены номера:

1. умножь на 2

2. прибавь 2

Выполняя команду номер 1  , КВАДРАТОР умножает число на экране на 2  , а выполняя команду номер 2  , прибавляет к этому числу 2  . Напишите программу, содержащую не более 4  команд, которая из числа 3  , не проходя через числа 7  и 8  , получает число 16  . Укажите лишь номера команд.

def f(a, b, commands):
    if a > b or len(commands) > 4 or a == 7 or a == 8:
        return 0
    if a == b:
        print(commands)
        return 1
    return f(a * 2, b, commands + ’1’) + f(a + 2, b, commands + ’2’)

f(3, 16, ’’)

Ответ: 1122
Оцените статью
Я решу все!