#600. 神秘算法
神秘算法
No submission language available for this problem.
Background
在很久很久以前,有一个古老的传说,说如果你能够找到一种神秘的算法,通过这个算法,你可以将任何一个整数转化成 。这个算法被称为“神秘算法”,有人说它可以把整数变成 ,有人说它是用来解决某个古老谜题的,但是真正的用途却没有人知道。
Description
一个数学家在研究数论时,发现了这个算法。他发现,这个算法可以把任何一个正整数变成 ,只需要按照以下规则进行变换:
- 如果这个数是奇数,就将它乘以 再加上 。
- 如果这个数是偶数,就将它除以 。
现在,你需要编写一个程序,来验证这个猜想是否成立,即对于任何一个正整数 ,使用这个算法将它变成 共经历了多少个数字。
比如 , 整个变换过程是:$22,11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1$ 共 个数字。
Format
Input
一个正整数 ,数据确保 。
Output
一个整数,表示 变成 整个过程中,经历的数字个数。
Samples
22
16
16
5
Limitation