xalka2004
31.05.2021 22:54

На Python и на C++! Калькулятор Имеется калькулятор, который выполняет три операции:

прибавить к числу X единицу;

умножить число X на 2;

умножить число X на 3.

Определите, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N.

Входные данные

Программа получает на вход одно число, не превосходящее 106.

Выходные данные

Требуется вывести одно число: наименьшее количество искомых операций.

Примеры

Ввод

32718

Вывод

17

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
настя7589
15.07.2021 17:44

massiv=[]

def recursion(number,count,way):

   global massiv

   if number<count and len(way)<100:

       recursion(number+1,count,way+"1")

       recursion(number*2,count,way+"2")

       recursion(number*3,count,way+"3")

   else:

       if number==count:

           if len(way) not in massiv:

               massiv.append(len(way))

       return

recursion(1,25,"")

print(min(massiv))

Такие большие числа, что вы в примере указали, считать долго будет

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота