Автор проблеми: | Хасан Салех (MathModel) |
Підготовлено: | Хасан Салех (MathModel) |
Редаговано: | Хасан Салех (MathModel) |
Рішення
Симулюйте процес для даного , і підрахуйте кількість виконаних операцій типу .
Хоча немає офіційного точного обмеження для Гіпотези Коллатца.
Корисно зазначити продуктивність алгоритму для n \le 10^4, протестувавши найгіршу довжину послідовності: , константа мала, що навіть у найгіршому випадку 1000 \cdot 261 \approx 3 \cdot 10^5 є достатньо, щоб пройти.
Складність .
def f(x):
ans=0
while(x!=1):
if(x%2==0):
x//=2
ans+=1
else:
x*=3
x+=1
return ans
for _ in range(int(input())):
n=int(input())
print(f(n))