#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
#define lc l,m,index<<1
#define rc m+1,r,index<<1|1
#define ll long long
#define inf 0x3f3f3f3f
ll n,a;
bool prime(ll num)
{
if (num==2||num==3||num==5) return true;
ll c=7;
if (num%2==0||num%3==0||num%5==0||num==1) return false;
ll maxc=int(sqrt(double(num)));
while (c<=maxc)
{
if (num%c==0) return false;
c+=4;
if (num%c==0) return false;
c+=2;
if (num%c==0) return false;
c+=4;
if (num%c==0) return false;
c+=2;
if (num%c==0) return false;
c+=4;
if (num%c==0) return false;
c+=6;
if (num%c==0) return false;
c+=2;
if (num%c==0) return false;
c+=6;
}
return true;
}
int main()
{
while(scanf("%I64d",&n)!=EOF)
{
if(prime(n))printf("It is a prime number.\n");
else printf("It is not a prime number.\n");
}
return 0;
}
fzu1649(大数素数判定)
最新推荐文章于 2021-01-09 00:39:43 发布