zoukankan      html  css  js  c++  java
  • 素数对猜想之python3实现

    题目

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

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

    输入格式:

    输入在一行给出正整数N

    输出格式:

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

    输入样例:

    20
    

    输出样例:

    4

    解该题的思路有两个点,如何判断一个数是否是素数,判断相邻的素数之差是否为2
    假设一个数为n,判断n是否为素数方法是用n去除从2到n的算术平方根之间的整数,如果能除尽,n为合数,如果都除不尽,n就是素数,python代码实现如下
    import time
    start = time.perf_counter()
    def judgePrime(n):
        for i in range(2, int(n**0.5)+1):
            if(n % i == 0):
                return False
        return True
    num = int(input())
    arr = [2, 3]
    cnt = 0
    if(num > 4):
        for i in range(4, num+1):
            res = judgePrime(i)
            if(res):
                if(i - arr[len(arr)-1] == 2):
                    cnt += 1                    
                arr.append(i)
    print(cnt,time.perf_counter()-start)



  • 相关阅读:
    password
    bzoj 1458: 士兵占领
    国家集训队2011 happiness
    cogs 2051. 王者之剑
    uva 10779 Collectors Problem
    [Jxoi2012]奇怪的道路
    天神下凡
    藏宝图
    黑红树
    愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/renbo/p/8733771.html
Copyright © 2011-2022 走看看