PTA | 1001 害死人不偿命的(3n+1)猜想

131 阅读1分钟

PTA | 1001 害死人不偿命的(3n+1)猜想

稿图:

image.png

#include<iostream>
using namespace std;
int main()
{
    int n=0;
    cin>>n;

    int cnt=0;
    
    while(n!=1)
    {
        if(n%2==1)//奇数
            n=3*n+1;
        else
        {
            n=n/2;
            cnt++;
        }
    }

    cout<<cnt<<endl;
return 0;
}

二刷

#include<bits/stdc++.h>
using namespace std;
int cnt;
int main()
{
     int n;cin>>n;
    while(n!=1)
    {
        if(n%2)n=(3*n+1)/2;
        else n=n/2;
        cnt++;
    }

    cout<<cnt<<endl;
    return 0;
}