1005 继续(3n+1)猜想

题目:

1005 继续(3n+1)猜想_第1张图片

 

 参考日神的  链接如下:https://blog.csdn.net/richenyunqi/article/details/79491648

代码如下:

#include 
#include
#include
#include
#include
using namespace std;
main(){
    vector<int>v;
    unordered_set<int>us;
    int n;
    cin>>n;
    int a;
    while(n--){
        cin>>a;
        v.push_back(a);
        while(a!=1){
            if(a%2==1)
            a=a*3+1;
            a/=2;
            us.insert(a);                
        }
    }
    sort(v.begin(),v.end(),greater<int>());
    bool first=true;
    for(auto i:v){
        if(!us.count(i))
        {  cout<<(first?"":" ")<<i;
            first=false;
        }
    }
    return 0;
}

 

你可能感兴趣的:(1005 继续(3n+1)猜想)