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

声明:本人原创,转载请说明出处!

题目分析:该题仅需把握两点:第一点,如果它是偶数,那么把它砍掉一半;第二点,如果它是奇数,那么把(3n+1)砍掉一半。每次执行这两点的任意一点时都需进行count++计数操作即可。

完全通过的正确代码:

#include<iostream>
using namespace std;
int main()
{
int n,count=0;
cin>>n;
while(n!=1)
{
if(n%2==0)
{
n=n/2;
count++;
}
else
{
n=(3*n+1)/2;
count++;
}
}
cout<<count;
return 0;

猜你喜欢

转载自blog.csdn.net/qq_29117927/article/details/81061728
今日推荐