[day 3]判断素数_筛选法_指定范围内2014.7.16
来源:互联网 发布:嵌入式软件开发教程 编辑:程序博客网 时间:2024/05/22 14:48
好开森~
不随便优化之后~
//Method_2_Eratosthenes.cpp//判断a到b范围内的素数(包含上下界)//从小到大扣掉素数的倍数//Input a,b (正整数)//Output q,w,e,...(范围内素数,逗号分格,每5个一行)#include <iostream>#include <cmath>using namespace std;int main(){//inputint a,b;cin >> a >> b;//创建储存判断结果的数组bool prime[b+1];memset(prime,true,sizeof(prime));prime[0] = 0;prime[1] = 0;//判断素数int b_sqrt_2 = sqrt(b)*2;for(int j = 4;j < b_sqrt_2;j++){for(int i = 2;i <= sqrt(j);i++){if(j%i == 0){prime[j]=0;//存在非1非n可整除,非素数break;}}}//筛选for(int j = 2;j < b_sqrt_2;j++){if(prime[j]){for(int i = j+j; i <= b;i = i+j){prime[i]=0;}}}//===========显示============int judge = 0;//判断换行for(int x = a; x <= b; x++){ if(prime[x]){ cout << x << ','; judge++;if(judge%5 == 0)cout << endl; }}return 0;}
这个故事告诉我们要把功能先完成再说优化, 每种优化的经验之谈都是有特定语境的, 不注意的话简直是自我折磨....
然后判断素数的上界根号乘了2,因为比如上界是一百的话很多数会筛不掉,诸如22,33,....上界越大应该越没有问题啦~
还有我觉得我有一段时间再也不想看见素数了.....
好吧明天还是要继续面对面.....先把day2 的算法改正常, 为了实践应用仙贝们的经验优化, 还是宽容的贱贱的把题目改掉好啦~~~2333~
0 0
- [day 3]判断素数_筛选法_指定范围内2014.7.16
- [day 2]判断素数_筛选法2014.7.14
- 素数筛选法输出指定范围内的所有素数
- 素数_筛选法产生素数
- 素数筛选_变形
- 素数_判断是否素数
- [day 4]判断素数_不死心想用day 2优化完成上下界
- 筛选法找出X~Y范围内的素数
- 筛选法求N范围内的所有素数
- 数组_例题:用筛选法求1-100之间的素数
- java经典算法2_判断素数
- 输出指定范围内的素数
- 算法 求指定范围内素数
- 用c程序筛选范围内的素数
- [day 0]判断素数2014.7.13
- 总结_判断指定地址内存空间合法
- ^_^Oh,Happy day^_^
- ~(^_^)~~The first day.
- 战神K670D-i7 D1惊爆开团 GTX 870M怒吼
- 神舟精盾K460N暑促2299起 2G独显本
- poj3006 Dirichlet's Theorem on Arithmetic Progressions 欧拉筛法素数打表,杂题
- Zelix KlassMaster混淆工具使用摘要
- css盒子模式
- [day 3]判断素数_筛选法_指定范围内2014.7.16
- 学生电脑挑选八项注意 小白用户必知道
- MyEclipse介绍
- IOS 开发之 Method Swizzling
- 考研日记-2014/07/16
- 进制 转换
- Thrift使用实例
- 互联网金融进入洗礼阶段,控制风险是制胜之道
- CScrollView