测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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
上一题 下一题