查找组成一个偶数最接近的两个素数(算法)
2023-02-18 16:29:02 时间
题目:
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,
要求输出组成指定偶数的两个素数差值最小的素数对
素数的判断,先求平方根,在从2 遍历小于等于平方根, 数 除以 i是否 等于0
1、从1穷举遍历,
2、传入两个相加等于 输入数 的两位数,判断是否是素数
3、算两个值相减 与之前相减的比较
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
int one = 0;
int two = 0;
int min = Integer.MAX_VALUE;
while (scanner.hasNext()) {
int num = scanner.nextInt();
for (int i = 2; i < num; i++) {
if (isS(i) && isS(num - i)) {
if (Math.abs(num - i - i) < min) {
one = i;
two = num - i;
min = Math.min(two - one, min);
}
}
}
System.out.println(one);
System.out.println(two);
}
}
private static boolean isS(int i) {
for (int j = 2; j <= Math.sqrt(i); j++) {
// 不是素数
if (i % j == 0) {
return false;
}
}
// 是素数
return true;
}
相关文章
- 15个问题自查你真的了解java编译优化吗?
- 实现服务器和客户端数据交互,Java Socket有妙招
- 世界杯专题看板丨今晚8点开战,数据先睹为快!
- Crack App | 某合伙人登录参数 apisign 逻辑分析
- Crack App | 某都市魔幻 FM 请求参数 sign 的加密分析
- Crack App | 某赢+ 二手车 App 登录参数加密逻辑分析
- RocketMQ: 技术架构与启动流程
- 目前社区关于ServiceMesh的主要方向
- k8s的架构是怎么变成现在这个样子
- Envoy的lib库拓扑关系
- 转发“Istio共享代理新模式Ambient Mesh”
- 如何设计属于你自己的秒杀系统?
- 如何把Java代码玩出花?JVM Sandbox入门教程与原理浅谈
- 删错了文件怎么办,文件快速恢复
- ChatGPT 浏览器插件实现思路解析
- 存储系统中的算法:LSM 树设计原理
- 说透游戏中常用的两种随机算法
- 我用消息队列做了一款联机小游戏
- 用算法打败算法
- CRUD 一年多,我的破局思路