Это был вопрос интервью, который, похоже, связан с проектом Эйлера Задача 14
Гипотеза Коллатца гласит, что если вы выполните следующее
If n is even, replace n by n/2.
If n is odd, replace n by 3n+1.
В конечном итоге вы закончитес 1.
Например, 5 -> 16 -> 8 -> 4 -> 2 -> 1
Если предположить, что гипотеза верна, каждое число имеет длину цепи: количество шагов, необходимых для достижения 1. (Длина цепи1 - это 0).
Теперь задача состоит в том, что задаются натуральные числа n, m и натуральное число k, и дается алгоритм поиска всех чисел от 1 до n, так что длина цепочки этих чисел равна <= к.Существует также ограничение, заключающееся в том, что в цепочку любого из этих чисел должны входить только числа от 1 до m (т. Е. Вы не можете переходить через m). </p>
Простой способ состоит в том, чтобы перебрать его и объединить,с напоминанием.
Интервьюер сказал, что был алгоритм времени O (S), где S - это число чисел, которое нам нужно вывести.
Кто-нибудь знает, что это может быть?