7-2 考拉慈猜想 - C/C++ 分支与循环
考拉兹猜想(Collatz conjecture)又称奇偶归一猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2。
如此循环,最终都能得到1。编写一个程序,输入一个正整数,打印其考拉兹序列。
输入格式:
1个>1的正整数
输出格式:
以逗号分隔的考拉兹序列。
输入样例:
5
输出样例:
16,8,4,2,1
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
do{
if(n%2==1){
n=n*3+1;
printf("%d,",n);}
else if(n%2==0&&n!=2){
n=n/2;
printf("%d,",n);}
else if(n%2==0&&n==2){
n=n/2;
printf("%d",n);
}
}while(n!=1);{}
return 0;
}