PTA翁恺:7-122 3n+1 (10 分)

Posted on 2021-11-16 21:31  qnhnt  阅读(27)  评论(0编辑  收藏  举报  来源

有这样一个猜想:对于任意大于1的自然数n,若n为奇数,则将n变成3n+1,否则变成n的一半。经过若干次这样的变换,一定会使n变为1。例如3->10->5->16->8->4->2->1。对于n=1的情况,当然就不用变化了。

输入格式:

输入一个正整数n,n的范围是[1,999999]。

输出格式:

输出变换的次数。

输入样例:

3

结尾无空行

输出样例:

7

结尾无空行

#include<stdio.h>
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=0;n!=1;i++)
    {
        if(n%2==1)
        {
            n=3*n+1;
        }
        else
        {
            n=n/2;
        }
    }
    printf("%d",i);
    return 0;
}