口胡质数判断(梅开二度):
bool pr(long long k)
{
long long x;
if(k==1) return false;
if(k==2) return true;
x=2;
while((x<sqrt(k))&&(k%x!=0)) x++;
{
if(k%x==0) return false;
else return true;
}
}
就是这次得注意1,之前没机会注意它
#include<bits/stdc++.h>
using namespace std;
bool pr(long long k)
{
long long x;
if(k==1) return false;
if(k==2) return true;
x=2;
while((x<sqrt(k))&&(k%x!=0)) x++;
{
if(k%x==0) return false;
else return true;
}
}
int main()
{
long long i;
cin>>i;
long long n[i];
for(long long j=0;j<=i-1;j++) cin>>n[j];
for(long long j=0;j<=i-1;j++)
{
if(pr(n[j])) cout<<n[j]<<" ";
}
return 0;
}
因为作者非常糟糕,所以若有不足请在评论区中指出。