1.埃式筛素数
const int maxn=1e6+10; bool isprime[maxn]; int prime[maxn]; int cnt=0; void Prime() { memset(isprime,false,sizeof(isprime)); isprime[0]=isprime[1]=true; for(int i=2;i<maxn;i++) { if(!isprime[i]) { prime[cnt++]=i; for(int j=i+i;j<=maxn;j+=i) { isprime[j]=true; } } }
2.GCD函数
int gcd(int a,int b) { return b?gcd(b,a%b):a; }