- 题目说明:
本关任务:给定一个正的偶的int
,将其分解为2
个质数的和。按从小到大输出这个2
个质数,中间用一个空格分隔。(如果有多种可能性,输出差别尽可能大的答案。)
例如,输入6
,输出应该是: 3 3
如果输入10
,则“3 7”
与“5 5”
均可。但前者的2
个质数差别更大,因此答案应该是: 3 7
测试说明:
平台将对你编写的代码进行评测:
测试输入:39950
预期输出:13 39937
代码:
def demo(n):
def IsPrime(p):
if p == 2:
return True
if p%2 == 0:
return False
for i in range(3, int(p**0.5)+1, 2):
if p%i==0:
return False
return True
a=[]
if isinstance(n, int) and n>0 and n%2==0:
for i in range(2, n//2+1):
if IsPrime(i) and IsPrime(n-i):
a.append(i)
print(f'{min(a)} {n-min(a)}')
n=int(input())
demo(n)