A38918. 提示信息:质数:是一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数。最小的质数是2,1不是质数。大于2的偶数有一个特点,任意一个大于2的偶数可以由一对质数相加得到,但有的偶数不止有一对这样的质数对。如偶数6,有一对质数相加得6,为(3,3)如偶数14,有两对质数相加得14,分别是(3,11),(7,7)编程实现:给定一个大于2的偶数,在所有满足“任意一个大于2的偶数可以由两个质数…
填空题
困难
知识点
题目描述
提示信息:
质数:是一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数。最小的质数是2,1不是质数。
大于2的偶数有一个特点,任意一个大于2的偶数可以由一对质数相加得到,但有的偶数不止有一对这样的质数对。
如偶数6,有一对质数相加得6,为(3,3)
如偶数14,有两对质数相加得14,分别是(3,11),(7,7)
编程实现:
给定一个大于2的偶数,在所有满足“任意一个大于2的偶数可以由两个质数相加得到”这个特点的质数对中,找出两个质数差值最小的一对,并将差值输出(差值为大数减小数的值,两个质数相等时差值为0)。
例如:偶数16,满足特点的质数对有(5,11)和(3,13),差值最小的一对是(5,11),11减5,差值为6。
输入描述:
输入一个大于2的偶数N
输出描述:
输出满足“任意一个大于2的偶数可以由两个质数相加得到”这个特点的所有质数对中,差值最小的那一对的差值
样例输入:16
样例输出:6
参考答案
import math
def prim(n):
if n<2:
return False
for i in range(2,int(math.sqrt(n))+1):
if n%i==0:
return False
else :
return True
n=int(input())
for i in range(n//2,n+1):
if prim(i) and prim(n-i):
print(i-(n-i))
break
上一题
下一题