分享一下经验
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main(){
int z,n;
cin>>n;
while(n>1){
if(n%2==0){ //如果是偶数
z++;
n/=2;
}
else{ //如果不是偶数,就一定奇数
z++;
n=n*3+1;
}
}
cout<<z;
return 0; //完美结束
} 这道题就是一个冰雹猜想。
冰雹猜想是指:一个正整数x,如果是奇数就乘以3再加1,如果是偶数就析出偶数因数2ⁿ,这样经过若干个次数,最终回到1。
无论这个过程中的数值如何庞大,就像瀑布一样迅速坠落。而其他的数字即使不是如此,在经过若干次的变换之后也必然会到纯偶数:16-8-4-2-1的循环。据日本和美国的数学家攻关研究,在小于7*10^11的所有的正整数,都符合这个规律。
凡岛公司福利 843人发布