#yyds干货盘点# 解决华为机试:查找组成一个偶数最接近的两个素数

Posted 97的风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# 解决华为机试:查找组成一个偶数最接近的两个素数相关的知识,希望对你有一定的参考价值。

1.简述:

描述

任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。

数据范围:输入的数据满足 4 \\le n \\le 1000 \\4≤n≤1000 

输入描述:

输入一个大于2的偶数

输出描述:

从小到大输出两个素数

示例1

输入:

20

复制输出:

7
13

复制

示例2

输入:

4

复制输出:

2
2

2.代码实现:

import java.util.*;

public class Main

public Main()


private boolean isPrime(int num)
for (int i = 2; i <= num/i; i++)
if (num % i == 0) return false;

return true;


public int count(int n)
int i = n/2, j = n - i;
while (!isPrime(i) || !isPrime(j))
i++;
j--;

return j;


public static void main(String[] args)
Main solution = new Main();
Scanner in = new Scanner(System.in);
while (in.hasNext())
int n = Integer.parseInt(in.next());
int res = solution.count(n);
System.out.println(res);
System.out.println(n - res);


以上是关于#yyds干货盘点# 解决华为机试:查找组成一个偶数最接近的两个素数的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点# 解决华为机试:字符统计

#yyds干货盘点# 解决华为机试:配置文件恢复

#yyds干货盘点# 解决华为机试:成绩排序

#yyds干货盘点# 解决华为机试:自动售货系统

#yyds干货盘点# 解决华为机试:记负均正II

#yyds干货盘点# 解决华为机试:求最小公倍数