冰雹猜想的内容是:任何一个大于1的整数n,按照n为偶数则除等2,n为奇数则乘3后再加1的规则不断变化,最终都可以变化为1。
例如,n等于20,变化过程为:20、10、5、16、8、4、2、1。编写程序,用户输入n,输出变化过程以及变化的次数。
请在这里写输入格式。例如:输入整数n。
请在这里描述输出格式。例如:输出猜想的过程及变化次数。
在这里给出一组输入。例如:
20
在这里给出相应的输出。例如:
20 10 5 16 8 4 2 1
count = 8
#include<iostream>
using namespace std;
int main(){
int n;
int count =1;
cin>>n;
cout<<n;
while(n>1){
if(n%2==0){
n=n/2;
cout<<' '<<n;
count++;
}
else{
n=(n*3)+1;
cout<<' '<<n;
count++;
}
}
cout<<'\n'<<"count = "<<count;
}
首先从用户输入获取一个正整数n,并将其直接输出。
然后定义一个变量count,用来记录变换的次数,初始值为1(1代表的就是第一个输出的n)。
接着,使用一个while循环,当n不等于1时,继续执行冰雹猜想的规则:
在循环中,判断n的奇偶性。
如果是偶数,就将n除以2;
如果是奇数,就将n乘以3再加1。
同时,将变换后的n输出,并将count加1,记录变换的次数。
最后当循环结束时,按照格式输出变换的总次数count。