描述
数学家们曾提出一个著名的猜想——冰雹猜想。
对于任意一个自然数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 %的提交
本文介绍了一个有趣的数学猜想——冰雹猜想,并提供了一种算法来计算任意自然数经过多少步变化可以达到1。通过实例演示了如何对特定数字进行计算。
&spm=1001.2101.3001.5002&articleId=125005997&d=1&t=3&u=e2560de04a1544daaff305f71f77331f)
7096

被折叠的 条评论
为什么被折叠?



