为什么样例全对,但提交全Wonderful Answer
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int a,k;
bool iP(int num)
{
if(num==1||num==4)
return 0;
if(num==2||num==3)
return 1;
if(num%6!=1&&num%6!=5)
return 0;
int tmp=sqrt(num);
for(int i=5;i<=tmp;i+=6)
if(num%i==0||num%(i+2)==0)
return 0;
}
int ez(int hp)
{
for(int i=0;hp>0;i++)
{
if(iP(hp))
return i+1;
else
hp-=pow(2,i);
}
return -1;
}
int main()
{
cin>>k;
int L[k];
for(int i=0;i<k;i++)
{
a=0;
cin>>a;
cout<<ez(a)<<"\n";
}
return 0;
}