題目
讓我們定義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 timestart =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 ...