1007 素数对猜想 (20分)
生活随笔
收集整理的這篇文章主要介紹了
1007 素数对猜想 (20分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1007 素數對猜想 (20分)
讓我們定義
?? 為:dn=pn+1?pnd_{n} = p_{n+1} - p_{n}dn?=pn+1??pn?,其中pip_{i}pi?是第iii個素數。顯然有d1=1d_{1} = 1d1?=1,且對于n>1n>1n>1有dnd_{n}dn?是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。
現給定任意正整數N(<10?5)N(<10^{?5})N(<10?5),請計算不超過NNN的滿足猜想的素數對的個數。
輸入格式:
輸入在一行給出正整數N。
輸出格式:
在一行中輸出不超過N的滿足猜想的素數對的個數。
輸入樣例:
20
輸出樣例:
4
# -*- encoding: utf-8 -*- import mathdef get_primes(n):prime_list = [1] * (n + 1)for i in range(2, int(math.sqrt(n)) + 1):if prime_list[i]:for j in range(i * 2, n + 1, i):prime_list[j] = 0return [idx for idx in range(2, n + 1) if prime_list[idx]]if __name__ == '__main__':n = int(input())prime_list = get_primes(n)pairs = 0for i in range(len(prime_list) - 1):if prime_list[i + 1] - prime_list[i] == 2:pairs += 1print(pairs)總結
以上是生活随笔為你收集整理的1007 素数对猜想 (20分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java10支持mybatis_写了10
- 下一篇: java忽略引号中的分隔符_java –