[PAT] 1007 素数对猜想 (20分) python

让我们定义d​n​​ 为:dn​​ =p​n+1​​ −p​n​​ ,其中p​i​​ 是第i个素数。显然有d1​​ =1,且对于n>1有d​n​​ 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容