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