1.
未优化的代码
bool isok(long long nn)
{
if(nn==1)return 0;
for(int i=2;i*i<=nn;i++)
{
if(nn%i==0)return 0;
}
return 1;
}
优化后的代码 //两倍的速度
bool isok(long long&nn)
{
if(nn==1)return 0;
if(nn==2)return 1;
if(nn%2==0)return 0;
for(long long i=3;i*i<=nn+2;i+=2)
if(nn%i==0)return 0;
return 1;
}
2.
1既不是素数也不是合数
2是素数