华为机试60- 查找组成一个偶数最接近的两个素数
题目描述
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对
输入描述:
输入一个偶数
输出描述:
输出两个素数
示例1
输入
20
输出
7
13
参考:
素数:又称质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
import math def isPrime(n): #判定 for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True while True: try: num ,start= int(input()) // 2,1 if num%2==1: start=0 for i in range(start, num, 2): a, b = num + i, num - i if isPrime(a) and isPrime(b): print(b) print(a) break except: break
执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率:100.00% 运行时间: 24ms 占用内存: 3388KB