В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
AZAZA2008
AZAZA2008
17.11.2021 22:39 •  Информатика

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

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

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

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

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

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

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

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

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

Примеры

Ввод

32718

Вывод

17

Ответ:
G89
G89
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?