数论常用模板

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;
}

 

posted @ 2019-06-09 19:51  ふるやれいRX-7  阅读(163)  评论(0编辑  收藏  举报