题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
from math import sqrt n=int(input()) #定义一个分解因数的函数,并返回因数个数值 def factor(n): fac=[] num=[] for i in range(1,int(sqrt(n))+1): if n%i==0: fac.append(i) fac.append(n//i) num=set(fac) return(len(num)) #定义一个素数列表返回函数 def prime_list(n): prime=[] for j in range(2,n): if factor(j)==2: prime.append(j) return prime #求最小差值函数 def min_diff(n): diff=[] prime=prime_list(n) for i in range(len(prime)): for j in range(i,len(prime)): if prime[i]+prime[j]==n: diff.append(int(abs(prime[i]-prime[j]))) return min(diff) #运用差值找素数函数 def find_two(n): diff=min_diff(n) l=(n-diff)//2 k=n-l print(l,k,sep='\n') find_two(n)