Решение ✅ 3095. Python. Сколько существует программ, которые число 1 преобразуют в число 15?
Предметы
3095. Python. Сколько существует программ, которые число 1 преобразуют в число 15?
0 оценок, среднее: 0,00 из 50 оценок, среднее: 0,00 из 50 оценок, среднее: 0,00 из 50 оценок, среднее: 0,00 из 50 оценок, среднее: 0,00 из 5
Загрузка...

Задача № 3095

Задание КИМ № 23: Динамическое программирование (количество программ)
Раздел № 79: Динамическое программирование: три команды

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

1. прибавь 1
2. сделай чётное
3. сделай нечётное
4. умножь на 10

Первая из них увеличивает на 1 число на экране, вторая умножает это число на 2, третья переводит число x в число 2x + 1, четвертая умножает на 10. Например, вторая команда переводит число 10 в число 20, а третья переводит число 10 в число 21. Программа для исполнителя – это последовательность команд. Сколько существует программ, которые число 1 преобразуют в число 15?


def f (start,end):
    if start==end:
        return 1
    if start>end:
        return 0
    return f (start+1,end) +f(start*2,end) +f(start*2+1,end)+f(start*10,end)
print(f(1,15))

Ответ:

84

Формат файла

Источник

Сайт Полякова

Создание сайтов - Лидер Поиска

Refund Reason