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)猜想 (15)