考拉兹猜想
也称为3n+1猜想或冰雹猜想。是指对于任意正整数N,若N为偶数,则将N除以2;若N为奇数,则将N乘以3再加1。如此循环,最终都能够得到1。
现给定一个正整数N,按照上述步骤,请计算出N要经过多少步才能变成1。例如:N=5, 变成1的步骤如下:1. 5×3 + 1 = 162. 16÷2 = 83. 8÷2 = 44. 4÷2 = 25. 2÷2 = 1共经过5步就得到1,故输出5。输入输入一个正整数N(0<N<1000000)。
输出
输出一个整数,表示N要经过多少步才能变成1
输入样例
5
输出样例
5
C++实现
#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
cin>>n;
int ans =0;
while(n!=1){
if(n%2==0){
n=n/2;
}else{
n=3*n+1;
}
ans++;
}
cout<<ans;
return 0;
}
.
后续
接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容