возможно ли из a получить b
всем привет, есть два числа, нужно проверить возможно ли получить из числа a другое число b, умножая его на число которое делится на a и посчитать кол-во шагов за которое это можно сделать, например:
a = 2
b = 16
результат такой: 2 --> 4 --> --> 8 -- > 16 ( за 3 шага) в голове нет идей, как это реализовать, пытался через делители числа, но получилось решить только частично. нужна идея для эффективного решения, т.к лимит времени 1.0 сек и ограничение памяти 64мб.
условие задачи тут:
Студенту снится сон. Во сне он ходит по городу, в котором ужасно много трактиров. В каждом трактире выпивает кружку эля. Все трактиры пронумерованы целыми положительными числами, и из трактира с номером n можно пойти только в трактир с номером, который делится на n. Начинается сон в трактире с номером a. Студент знает, что ему надо попасть в трактир с номером b. При этом, понятно, хочет по пути выпить как можно больше эля. Если он не может дойти из трактира a в трактир b, то сразу просыпается в холодном поту.