快速查找素数 187 (筛选找素数 模板)

来源:互联网 发布:苹果铃声剪切软件 编辑:程序博客网 时间:2024/06/05 18:41

快速查找素数

时间限制:1000 ms  |           内存限制:65535 KB
难度:3
描述
现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数。
输入
给出一个正整数数N(N<=2000000)
但N为0时结束程序。
测试数据不超过100组
输出
将2~N范围内所有的素数输出。两个数之间用空格隔开
样例输入
510110
样例输出
2 3 52 3 5 72 3 5 7 11
#include<stdio.h>#include<string.h>#include<math.h>int a[2000010];int main(){int n,i,j;memset(a,0,sizeof(a));for(i=2;i<=1000000;i++){if(a[i]==0)for(j=i+i;j<=2000000;j+=i)a[j]=1;}while(scanf("%d",&n),n){printf("2");for(i=3;i<=n;i++){if(a[i]==0)printf(" %d",i);}printf("\n");}return 0;}

0 0
原创粉丝点击