今天来研究下通过JAVA进行指定上限的最大素数的计算 。比如指定上限为1亿,通过程序算出结果为99999989,即不超过1亿的最大素数为99999989 。
网上搜索到了这个问题的一种解法如下,我们命名为算法1:
/*
* 使用对撞指针,步长为1
*/
public static int maxPrime1(int num) {
int i = num;
while (i > 1) {
int m = 2, n = i - 1;
while (m <= n) {
if (m * n == i) {
break;
} else if (m * n > i) {
n--;
} else {
m++;
}
}
if (m > n) {
return i;
}
i--;
}
return 1;
}
为了调用上面的代码,主函数如下:
public static void main(String[] args) {
long beginTime = System.
推荐阅读
- JavaScript 开发人员的主要基本技能是?
- Java预览及打印PDF的三种方法
- JavaScript 之事件委托方式 两个小例子
- Java开发数据库设计的14个技巧,你知道几个?
- 关于计算机网络 内网和外网 的区别
- javascript内置对象Date的基本用法
- 常见的Java分布式缓存框架总结
- JavaScript中的跨域问题及解决办法
- java服务宕机原因查询
- 淘宝卖货运费怎么计算 淘宝运费标准