埃氏筛法

来源:互联网 发布:grace评分软件中文版 编辑:程序博客网 时间:2024/06/10 22:00

需要注意的是1既不是质数也不是合数,我用true表示不是质数的数

思想很简单,就是一个质数p的任意整数倍肯定都是合数,然后把这些合数筛掉留下来的就是质数,时间复杂度也不是很高

    prime[1] = true;    int sqrtn = sqrt(n+0.5);//防止四舍五入造成的问题    for(int i=2; i<=sqrtn; i++) {        if(!prime[i]){            for(int j = i*i; j<=n; j+=i) {            prime[j] = true;            }        }    }
原创粉丝点击