素數對猜想之python3實現

2022-03-23 10:46:42 字數 1007 閱讀 4346

題目

讓我們定義d​n​​為:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i個素數。顯然有d​1​​=1,且對於n>1有d​n​​是偶數。「素數對猜想」認為「存在無窮多對相鄰且差為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

print(cnt,time.perf_counter()-start)

python3之1007 素數對猜想 20分

題目贅述如下 讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 10 5 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整...

1007 素數對猜想(python)

1007 素數對猜想 20分 讓我們定義d n 為 d n p n 1 p n 其中p i 是第i個素數。顯然有d 1 1,且對於n 1有d n 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 10 5 請計算不超過n的滿足猜想的素數對的個數。輸入格式 輸入在一行給出正...

(python 3)判斷素數

python 3判斷素數函式 函式用來判斷是否為素數 def isprime n n為2或3,可以直接判斷是素數 if n 2 or n 3 return true n可以被2或3整除,可以直接判斷不是素數 if n 2 0 or n 3 0 return false 觀察素數的分布可以發現,除2 ...