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

A21793. 孪生素数素数是指大于1的自然数,且只能被1和它本身整除的数。孪生素数是指差值为2的两个素数,例如 (3, 5)、(11, 13) 等。问题:给定一个整数 n,请编写程序输出所有小于等于 n 的孪生素数对,按升序排列。 补全下列程序代码。def is_prime(num): if _______①__________: return False for i in range(2, num): if…

填空题 较难

题目描述

孪生素数

素数是指大于1的自然数,且只能被1和它本身整除的数。孪生素数是指差值为2的两个素数,例如 (3, 5)、(11, 13) 等。问题:给定一个整数 n,请编写程序输出所有小于等于 n 的孪生素数对,按升序排列。 补全下列程序代码。

def  is_prime(num):
    if _______①__________:
        return False
    for i in range(2, num):
        if  ________②_________:
            return False
    return  _______③__________               
def  find(n):
    for i in range(2,n-1):
        if is_prime(i) and _______④__________:
            print(i, i + 2)
n = int(input())
find(n)

参考答案

def is_prime(num): if num < 2: # ① 小于2的数非素数 return False for i in range(2, num): if num % i == 0: # ② 存在因数则非素数 return False return True # ③ 通过所有检查则为素数 def find(n): for i in range(2, n - 1): if is_prime(i) and is_prime(i + 2): # ④ 检查孪生素数对 print(i, i + 2) n = int(input()) find(n)

答案解析

评分标准:

(1)num < 2 (或等效答案);(3分)

(2)num % i == 0 (或等效答案);(3分)

(3)True (或等效答案);(3分)

(4)is_prime(i+2) (或等效答案)。(3分)

上一题 下一题