PAT乙级1001 害死人不偿命的(3n+1)猜想 (15 分)

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级1001 害死人不偿命的(3n+1)猜想 (15 分)相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
https://pintia.cn/problem-sets/994805260223102976/problems/994805325918486528

朴素写法:

#include<cstdio>
int main(void)
{
    int n;
    int temp=0;
    scanf("%d",&n);
    while(n!=1)
    {
        if(n%2==0)
        {
            n=n/2;
            temp++;
            continue;
        }
        n=(n*3+1)/2;
        temp++;
    }
    printf("%d\\n",temp);
    return 0;
}

精简写法:

#include<cstdio>
int main(void)
{
	int n; scanf("%d",&n);
	int ans=0;
	while(n!=1)
	{
		if(n%2==0) n=n/2;
		else n=(3*n+1)/2;
		ans++;
	}
	printf("%d",ans); 
	return 0;
}

以上是关于PAT乙级1001 害死人不偿命的(3n+1)猜想 (15 分)的主要内容,如果未能解决你的问题,请参考以下文章

PAT乙级1001.害死人不偿命的(3n+1)猜想

PAT乙级1001. 害死人不偿命的(3n+1)猜想 (15)

PAT乙级1001. 害死人不偿命的(3n+1)猜想 (15)

PAT-乙级-1001 害死人不偿命的(3n+1)猜想

PAT 乙级 害死人不偿命的(3n+1)猜想

[PAT乙级]1001 害死人不偿命的(3n+1)猜想