例题2-2 3n+1问题《算法入门竞赛经典第二版》

对于任意大于1的自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变换,一定会使n变为1。
例如,3→10→5→16→8→4→2→1。
输入n,输出变换的次数。 n≤109。
样例输入:
3 样
例输出:
7

#include<stdio.h>
int main(){
    int nb,count=0;
    scanf("%d",&nb);
    long long n = nb;
    while(n>1){
        if(n %2 ==1){
            n = n*3+1;
        }else{
            n = n/2;
        }
        count++;
        }
    printf("%d",count);
    return 0;
}
发布了59 篇原创文章 · 获赞 10 · 访问量 5479

猜你喜欢

转载自blog.csdn.net/qq_43476433/article/details/104154034
今日推荐