← К задачам
Число программ Удвоителя из A в B
Исполнитель «Удвоитель» работает с натуральным числом. У него две команды:
- прибавь 1 — увеличивает число на 1;
- умножь на 2 — умножает число на 2.
Программа — это последовательность команд. Напишите функцию count_programs(a, b), которая возвращает количество различных программ, переводящих число a в число b (1 ≤ a ≤ b). В ходе выполнения число строго возрастает, поэтому программ конечное число.
Формат входа: два целых числа a и b.
Формат выхода: целое число — количество программ. Если b < a, ответ 0; если a == b, ответ 1 (пустая программа).
Примеры:
count_programs(1, 3)→2(программы «+1, +1» и «·2, +1»).count_programs(2, 10)→7.
def count_programs(a, b):
# Верните число различных программ,
# переводящих число a в число b.
# ваш код
pass
Для запуска тестов необходима авторизация.