红红的一片,悬棺求调!!!
查看原帖
红红的一片,悬棺求调!!!
1323415
wky_wsy_楼主2024/11/10 22:37
#include <bits/stdc++.h>
#define int long long
using namespace std;
bool prime(int a){
    if(a<=1) return 0;
    for(int i=2;i*i<a;i++){
        if(a%i==0) return 0;
    }
    return 1;
}
int t,m;
signed main(){
    cin.tie(0);
    cout.tie(0);
    cin>>t;
    while(t--){
        cin>>m;
        int h=0,s=1;
        
        while(1){
            if(m==0){
                cout<<h<<endl;
                break;
            }
            if(prime(m)){
                h++;
                cout<<h<<endl;
                break;
            }
            if(m<0){
                cout<<-1<<endl;
                break;
            }
            m-=s;
            h++;
            s<<1;
        }
    }
}
2024/11/10 22:37
加载中...