南阳题目187-快速查找素数
2016-02-17 23:08
218 查看
快速查找素数
时间限制:1000 ms | 内存限制:65535 KB难度:3
描述现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数。
输入给出一个正整数数N(N<=2000000)
但N为0时结束程序。
测试数据不超过100组
输出将2~N范围内所有的素数输出。两个数之间用空格隔开
样例输入
5 10 11 0
样例输出
2 3 5 2 3 5 7 2 3 5 7 11
这个题用普通的方法一一判断是会超时的,所以要用到打表的方法,把小于要求数的所有素数全标记出来!
不过要注意格式!
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int pri[2000008]; void init_prime() { int i,j; for(i=2;i<=sqrt(2000000);i++) { if(!pri[i]) { for(j=i*i;j<=2000000;j+=i) pri[j]=1; } } } int main() { int num,a,b,i,j; memset(pri,0,sizeof(pri)); init_prime(); while(scanf("%d",&a),a) { printf("2"); for(i=3;i<=a;i++) if(!pri[i]) printf(" %d",i); printf("\n"); } return 0; }
相关文章推荐
- 蓝桥杯——区间k大数查询
- MATLAB总览
- iOS7之后如何正确隐藏状态栏
- 素数打表(持续更新中)
- 5 Logistic回归(二)
- linux下通过网络获取本机时间
- ksh自动补全
- iOS学习----------详解FFMPEG API
- 必看的经典金融书籍推荐zz
- 面试题:数值的整数次方
- iOS开发-retain/assign/strong/weak/copy/mutablecopy/autorelease区别
- 看到了一篇博文,关于网卡的sniff模式,感觉相当好
- Activity生命周期的简单分析
- oracle之空值和空值函数使用
- UVALive5870-Smooth Visualization-模拟水题
- PHP中json_encode后,在json字符串中依然显示中文的解决方案
- LVS负载均衡在Ubuntu环境下部署详解
- 网络流之最大流 EK/Dinic/Isap算法 学习笔记
- 源码解析Android中AsyncTask的工作原理
- Python多线程、异步+多进程爬虫实现代码