让我们定义dn 为:dn =pn+1 −pn ,其中pi 是第i个素数。显然有d1 =1,且对于n>1有dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<10^5 ),请计算不超过N的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数N。
输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
代码实现:
import math
def isPrime(n):
if n==2 or n==3:
return True
if n%6!=1 and n%6!=5 or n<=1:
return False
for i in range(5,int(math.sqrt(n))+1,6):
if n%i==0 or n%(i+2)==0:
return False
return True
n = int(input())
count = 0
for i in range(2,n-1):
if isPrime(i):
if isPrime(i+2):
count += 1
print(count)