记录一下,一个跨考小白的第一篇博客,以下代码已AC。
代码
# include <stdio.h>
int main (){
int n,t=0;
scanf("%d",&n);
if(n>0&&n<=1000){
while(n!=1){
if(n%2==0)
n=n/2;
else
n=(3*n+1)/2;
t++;
}
printf ("%d",t);
}
else
return 0;
}
补充:(递归算法)
#include <stdio.h>
int f(int n) {
if (n == 1) return 0;
if (n % 2 == 0)
return f(n / 2) + 1;
else
return f((3 * n + 1) / 2) +1;
}
int main () {
int n, m;
scanf("%d", &n);
m = f(n);
printf("%d\n",m);
}