c++输出n以内素数问题(埃拉托色尼筛法)

2007-09-12 11:14

#include<iostream>
using namespace std;
#include <math.h>
void outPrime(int n)
{

int *numberAll = new int[n];
for(int i=1;i<n;i++)
numberAll[i] = i+1;
for(int m=1;m<sqrt(n);m++)
{
if(numberAll[m]!=0)
{
    for(int p=m+1;p<n;p++)
    {
if(numberAll[p]%numberAll[m]==0)
    numberAll[p] = 0;
    }
}

}
for(int q=1;q<n;q++)
{if(numberAll[q]!=0)
cout<<numberAll[q]<<endl;
}

}

int main()
{
outPrime(1000000);
return 0;
}


作者:玄魂
出处:http://www.cnblogs.com/xuanhun/
原文链接:http://www.cnblogs.com/xuanhun/ 更多内容,请访问我的个人站点 对编程,安全感兴趣的,加qq群:hacking-1群:303242737,hacking-2群:147098303,nw.js,electron交流群 313717550。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
关注我:关注玄魂的微信公众号

原文地址:https://www.cnblogs.com/xuanhun/p/1662427.html