题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
def is_prime(x):
if x <= 2:
return True
else:
for i in range(2, int(pow(x, 0.5)) + 1):
if x % i == 0:
return False
else:
continue
return True
n = int(input())
minus = float('inf')
a,b = 0,0
for i in range(2,n):
if is_prime(i) and is_prime(n-i) and 0 <= n - 2*i < minus:
a,b = i,n-i
minus = n - 2*i
else:
continue
print(a)
print(b)
先设计一个函数来判断一下i是不是素数,这样就直接找出(0,n)中所有的素数。
然后我们开始找出所有加起来为n的素数对,知道判断出差值最小的那一对就好了,这一部分就是穷举,没有什么技术含量,直接看代码就好了。
查看15道真题和解析
