两种筛素数的方法
2015-11-24 20:56
239 查看
筛选法求素数: void getprime() { int i,j; memset(b,1,sizeof(b)); b[0]=0; b[1]=0; for(i=2;i*i<=100000;i++) { if(b[i]) { for(j=i*i;i<=100000;j+=i) { p[j]=0; } } } } 快速判断一个数是否为素数 bool isPrime(int num) { if (num == 2 || num == 3) { return true; } if (num % 6 != 1 && num % 6 != 5) { return false; } for (int i = 5; i*i <= num; i += 6) { if (num % i == 0 || num % (i+2) == 0) { return false; } } return true; } 快速求一个数以内的所有素数 #define N 100000000 bool notPrime[N+5]; void ScreeningPrime(void) { int i, j, increment[6] = {0, 4, 0, 0, 0, 2}; for (i = 5; i*i <= N; i += increment[i%6]) { for (j = i; i*j <= N; j += increment[j%6]) { notPrime[i*j] = true; } } }
相关文章推荐
- hdu 4034 Graph(深化最短路floyd)
- curl抓取网页内容时的重定向和乱码解决
- iOS_NSURLSession
- 杭电ACM1997——汉诺塔VII
- 每天一点matlab——图像二值化,人为设定阈值
- Android文本目录介绍
- Logistic Regression Vs Decision Trees Vs SVM: Part I
- bzoj1194
- 中序线索化二叉树的算法验证
- python 里连续两次open后的后果
- Tcp 断开连接(重要)
- Android——调用系统摄像头拍照的问题
- hdu 1074 状态压缩DP 贪心 错的原因
- java实现类似函数指针功能
- 如何将js中的值传到后台action中
- 前端模块化工具-webpack
- 编写linux静态库
- JavaScript Number数字类型
- 第二个Sprint冲刺第二天(燃尽图)
- (社会工程学攻击)安全书籍中的重要笔记摘要