求N值以内的所有孪生素数对

https://img-mid.csdnimg.cn/release/static/image/mid/ask/428478224666196.jpg


def Prime(n):
    if n < 2:
        return False
    elif n == 2:
        return True
    else:
        i = 2
        for i in range(2, n):
            if n % i == 0:
                break
            else:
                i = i + 1
        if i == n:
            return True
        else:
            return False


for i in range(1, int(input('请输入N:'))):
    if Prime(i) == True and Prime(i + 2) == True:
        print(i, i + 2)

代码如下,如果问题解决点击i一下采纳谢谢:

def is_prime(m):
    """判断m是否素数"""
    if m < 2:
        return False
    for i in range(2, int(m**(1/2))+1):
        if m % i == 0:
            return False
    return True
def twin_primes(n):
    """求n以内的孪生素数对"""
    m, res = 3, {}
    while m < n - 1:
        if is_prime(m) and is_prime(m + 2):
            res[m] = m + 2
        m += 2
    m += 2
    return res
res = twin_primes(int(input()))
for key, value in res.items():
    print(key, value)

运行结果

img