筛法求素数

来源:互联网 发布:php中pre 编辑:程序博客网 时间:2024/05/17 08:12
//#include <bits/stdc++.h>#include <iostream>#include <cstdlib>#include <stdio.h>#include <algorithm>#include <math.h>#include <string.h>#include <queue>#include <stack>using namespace std;int a1[2000010];void prime(int n){      memset(a1,0,sizeof(a1));    for (int i=2; i*i<=n; i++) {        if (a1[i]==0) {            for (int j=i*2; j<=n; j+=i) {                   a1[j]=1;            }        }    }}int main(){    int n;    prime(2000010);    while(~scanf("%d",&n)&&n)    {</div><div></div><div>        for(int i=2; i<=n; i++){            if(a1[i]==0)                printf("%d ",i);        }        printf("\n");    }    return 0;}
同样方法可解决开灯问题http://blog.csdn.net/guokaigdg/article/details/51078271
1 0
原创粉丝点击