Python! Калькулятор Имеется калькулятор, который выполняет три операции:
прибавить к числу X единицу;
умножить число X на 2;
умножить число X на 3.
Определите, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N.
Входные данные
Программа получает на вход одно число, не превосходящее 10^6.
Выходные данные
Требуется вывести одно число: наименьшее количество искомых операций.
Примеры
Ввод
32718
Вывод
17
Мой код проходит только 11 из 19:
n = int(input())
k=0
while(n>1):
while (n % 3 == 0):
n = n//3
k += 1
while n % 2 == 0:
n = n//2
k += 1
if (n % 3 != 0) and (n % 2 != 0):
n = n - 1
k += 1
print(k-1)