1--1,000,000之间所有的质数
来源:互联网 发布:apache日志 json 编辑:程序博客网 时间:2024/05/28 05:17
环境:Xcode7.2
目的:以最快的方式(目前我觉得时最快的)计算出1到1,000,000之间的所有质数。大概2.5秒,求指正。
// 质数:2、3、5、7... // 装质数的数组,预存一个质数(3) NSMutableArray * array = [NSMutableArray array]; array = @[@"3"].mutableCopy; // 从3开始,所有质数均是奇数 NSInteger i = 3; NSLog(@"%ld",i); // while循环 while (i <= 1000000) { // 判断是否是质数的计数 NSInteger num = 0; // 循环每一个小于当前i的质数 for (NSString * j in array) { // i % 所有小于i的质数,结果为0时,i为合数 if (i % [j integerValue] == 0) { // 计数 +1 num ++; // 当判断出i为合数时,跳出循环 break; } // 当j大于i的开根时,i % j无意义,跳出循环。(no why!) if ([j integerValue] >= sqrt(i)) { break; } } // 计数为0时,i为质数,并将i加入数组中 if (num == 0) { [array addObject:[NSString stringWithFormat:@"%ld",i]]; // NSLog(@"%ld",i); } // no why! i = i + 2; } // 质数个数,还差个“2”,所以 +1 NSLog(@"%ld",array.count + 1);
0 0
- 1--1,000,000之间所有的质数
- 找出1~100之间的所有质数
- 打印1-100之间的所有质数
- 求1~100之间所有的质数
- 打印1-100之间的所有的质数、质数的个数以及所有质数的和
- 习题:输出1-100之间的所有质数(素数)
- 用筛选法打印出1到100之间的所有质数
- c编程:用户输入一个数值n,打印出出1到n之间的所有质数
- 利用javascript在控制台输出1到100之间所有的质数
- 找出2->N之间的所有质数
- 列出1~10000的所有质数。
- 求1-100所有质数的和
- 输出1-100之内的所有质数
- 求1到100所有的质数
- 求1到N之间的质数
- 求出1-100之间的质数
- 输出1-10000之间的质数
- Java求1-100之间的质数
- java equals 比较两个字符串,总是返回false
- Iscroll下拉刷新问题集合、click点击事件
- 正则表达式30分钟入门教程
- redis学习总结(一)
- mysql主从实验
- 1--1,000,000之间所有的质数
- 23 用if语句实现分支结构 项目(1: 被3或者5整除的数) (2:乱玩数字 ) (3:两段函数求值 ) (4:三角公式求值 ) (5:我的加班费 ) (6:前导0的数字
- 博客欣赏
- android Fragment 的使用详解
- Eclipse 安装FindBugs插件
- 新平台,新版本,ComponentOne 持续发力
- linux下时间同步的两种方法分享
- 返回到顶部代码
- 关于java、Android中Math的一些用法