描述
数学家们曾提出一个著名的猜想——冰雹猜想。
对于任意一个自然数N,如果N是偶数,就把它变成N / 2;
如果N是奇数,就把它变成 3 * N+1。
按照这个法则运算下去,最终必然得1。
试问,该数通过几轮变换,会变成1呢?
1<=n<=1000
样例
样例 1:
输入:
4
输出:
2
解释:
第一轮:4/2=2
第二轮:2/2=1
答案为2
C++:
class Solution {
public:
/**
* @param num: an integer
* @return: an integer
*/
int getAnswer(int num) {
// write your code here.
int step=0;
while(num>1)
{
if(num%2==1)
num=3*num+1;
else
{
num=num/2;
}
step++;
}
return step;
}
};
Accepted 100%
41 ms时间消耗 5.46 MB空间消耗 您的提交打败了73.20 %的提交