折叠

PAT乙级-1007 素数对猜想

1007 素数对猜想 (20 分)
 

让我们定义dn为:dn=pn+1pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。

输入格式:

输入在一行给出正整数N

输出格式:

在一行中输出不超过N的满足猜想的素数对的个数。

输入样例:

20
结尾无空行

输出样例:

4
结尾无空行
 

解题代码:

import math
n = input()
l = [2,3]
for i in range(5,int(n)+1,2):
    for j in l:
        if i%j == 0:
            break
        if j > math.sqrt(i):
            l.append(i)
            break

num = 0
print(l)
for i in range(len(l)-1):
    if l[i+1]-l[i]==2:
       num += 1
print(num)

 

posted @ 2021-11-19 21:14  Coverpast  阅读(28)  评论(0编辑  收藏  举报