素数筛法

来源:互联网 发布:w3cschool python 编辑:程序博客网 时间:2024/06/05 21:09

讲解一下break的理由:素数与合数的乘积可以由更小的素数与更大的合数来表示,如i=15,15*3记录之后,对于15*5=3*25,只需要以后当i=25时判断即可,避免重复判断

void getPrime(){    for (int i = 2;i < MAXN;++i)    {        if (!vis[i])            prime[tot++] = i;        for (int j = 0;j < tot&&prime[j] * i < MAXN;++j)        {            vis[prime[j] * i] = 1;            if (i%prime[j]==0)                break;        }    }}
原创粉丝点击