题目
描述
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。
本题含有多组样例输入。
输入描述:
输入一个偶数
输出描述:
输出两个素数
示例1
输入:
20
输出:
7
13
解题思路
(1)用isPrime函数判断数字是否为质数
(2)从0开始记录循环到num//2+1,j和num-j都为质数,如果res为空存放到res
(3)如果res不为空,则判断res中的两个质数与新找到的两个质数的差值,取最小的那两个
num-j-j == num-2*j
abs(num-2*j) == abs(2*j-num)
代码
def isPrime(n):
for i in range(2, int(pow(n, 0.5)) + 1):
if n % i == 0:
return False
return True
while True: