筛法求1000000以内素数个数---时间复杂度为o(n)
2015-11-03 22:28
106 查看
这样做倒是挺简单的,怎么容易怎么做
#include<stdio.h> #include<string.h> #define maxn 1000000 int isprime[maxn+10]; int prime[maxn/10]; int count; int n; int main() { while(scanf("%d",&n)!=EOF) { count=0; for(int i=0;i<=maxn+10;i++) isprime[i]=0; for(int i=2; i<=n; i++) { if(isprime[i]==0) { prime[count++]=i; for(int j=i; j<=n; j+=i) isprime[j]=1; } } printf("%d\n",count); } return 0; }
相关文章推荐
- GridView
- 第4讲 项目2----第一小节 求长方形的面积和周长
- UItextField 用法(swift)
- HDU 4837 Wow! Such Doge! (- -)
- chrome浏览器地址栏搜索被强制跳转,百度搜索引擎代码
- JAVA list
- iphone自定义铃声
- PHP扩展开发相关总结
- 堆栈信息分析
- 如何远程登录计算机
- ado.net存储字符串的几种数据类型
- 镜像二叉树
- SurfaceView绘制触摸轨迹闪烁问题的最终解决方案
- 使用image drawInRect: 方法改变图片大小后,图片画质变差了--(头像修改时)
- 1、Ubuntu14.04使用root登陆帐户
- JQueryiframe页面操作父页面中的元素与方法(实例讲解)
- Node JS学习笔记
- 基于QML开发的二维码生成的QML插件
- React入门:关于JSX语法
- [TwistedFate] NSDictionary NSSet