分析:输入样例3,
第一步3为奇数,把3*3+1切一半得到5
第二步5为奇数,3*5+1得16,16为偶数,切得8。
第三步8为偶数,切得4。
第四步,4为偶数,切得2
第五步,2为偶数,切得1
即主要步骤,判断是否为1,不为1,判断奇偶性,从而得到新的数字。
注意:输入输出格式(别去额外添加任何输入输出提示,否则报错)
#include<stdio.h>
int main(){
int n,i=0;
//printf("enter the number :");
scanf("%d",&n);
while(n!=1){
if(n%2==1){
n=(3*n+1)/2;
}
else if(n%2==0){
n=n/2;
}
i++;
}
printf("%d",i);
}
本文介绍了一个基于奇偶数变换的算法实现过程,通过循环判断输入数字的奇偶性并进行相应运算,最终使数字变为1。文章详细解释了每一步的操作流程,并提供了完整的C语言代码示例。
499

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



