80分,求大佬帮调,回复壶关
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t;
inline bool ac(ll x){
if(x<=1)
return 0;
if(x==2)
return 1;
if(x%2==0)
return 0;
for(ll i=3;i*i<=x;i+=2){
if(x%i==0)
return 0;
}
return 1;
}
inline ll ab(ll x){
for(int i=1;i>=0;i++){
if(x==0)
return i-1;
if(pow(2,i-1)>x)
return -1;
if(!ac(x))
x-=pow(2,i-1);
else
return i;
}
}
signed main(){
cin>>t;
while(t--){
ll x;
cin>>x;
cout<<ab(x)<<endl;
}
}