https://pintia.cn/problem-sets/994805260223102976/problems/994805325918486528


//任何正整数,偶数除二,奇数(3n+1)除二,最后一定在某处一定得n=1。
//输入不超过1000的正整数,求出需要几步得n=1。

#include <stdio.h>

int main(){
    int n, step=0;          //定义n与记步
    scanf("%d",&n);
    while(n!=1){            //当n不等于1时参与循环算法
        if(n%2==0) n=n/2;   //当n为偶数时
        else n=(3*n+1)/2;   //当n为奇数时
        step++;             //记步+1
    }
    printf("%dn",step);
    return 0;
}

标签: none

添加新评论