Форум сайта python.su
Имеется калькулятор, который выполняет три операции:
Прибавить к числу X единицу.
Умножить число X на 2.
Умножить число X на 3.
Определите кратчайшую последовательность операций, необходимую для получения из числа 1 заданное число N.
Входные данные:
Программа получает на вход одно число N, не превосходящее 106.
Выходные данные:
Выведите строку, состоящую из цифр “1”, “2” или “3”, обозначающих одну из трех указанных операций, которая получает из числа 1 число N за минимальное число операций. Если возможных минимальных решений несколько, выведите любое из них.
Офлайн
Для чего ты решаешь эту задачу?
Офлайн
xam1816Мне задали. Точно уж не пособственному желанию!
Для чего ты решаешь эту задачу?
Офлайн
Fiares_CurieА тебе объяснили зачем тебе нужно ее решать?
Мне задали.
Офлайн
xam1816 видно же что задача учебная, предположу что на знание рекурсии.
[code python][/code]
Офлайн
PEHDOMМне кажется эту задачу задали школьнику,которому не объяснили,что его как интеллект пытаются развить до более продвинутого уровня.Этот молодой интеллект - школьник наверное думает,чем ему вообще поможет в жизни знание этих алгоритмов.Вопрос философский конечно,ведь он может просто не делать эту задачу,сославшись на то,что он развивает себя в другом направлении,и его взаимодействие с миром будет основано на простейших принципах выживания.Но если он действительно хочет ее решить,то тут дело не в коде,а в последовательности действий,которые он должен сначала сделать просто на бумаге,как человек.Такое мнение у меня.
предположу что на знание рекурсии.
Отредактировано xam1816 (Окт. 6, 2021 21:35:18)
Офлайн
Fiares_CurieЗдесь делал похожую задачу. Делаются они по одному принципу. Переходишь в конец, как будто всё решено, и начинаешь от конца к началу исследовать все возможные варианты.
Имеется калькулятор, который выполняет три операции:
Прибавить к числу X единицу.
Умножить число X на 2.
Умножить число X на 3.
Определите кратчайшую последовательность операций, необходимую для получения из числа 1 заданное число N.
Офлайн