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

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

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

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

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

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

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

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

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

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

Примеры

Ввод

32718

Вывод

17

Показать ответ
Ответ:
лариса219
лариса219
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-бота