1. 程式人生 > 實用技巧 >華為機試60- 查詢組成一個偶數最接近的兩個素數

華為機試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