1007 素數對猜想 20 python篇

2021-07-30 06:14:50 字數 1115 閱讀 5834

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者

chen, yue

讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。「素數對猜想」認為「存在無窮多對相鄰且差為2的素數」。

現給定任意正整數n (< 105),請計算不超過n的滿足猜想的素數對的個數。

輸入格式:每個測試輸入包含1個測試用例,給出正整數n。

輸出格式:每個測試用例的輸出佔一行,不超過n的滿足猜想的素數對的個數。

輸入樣例:

20
輸出樣例:
4n=input()

b=c=0

for x in range(2,int(n)+1):

a=1i=2

while i*i<=x:

if x%i==0:

a=0break

i+=1

if a==1:

for i in range(len(b)-1):

if b[i+1]-b[i]==2:

c+=1

print(c)

最後乙個測試點超時,求大神改進演算法!!!

改進**(偶爾超時):

import math

def prime(n):

if n%2==0 and n!=2:

return false

for i in range(2,int(math.sqrt(n))+1):

if n%i==0:

return false

return true

n=int(input())

l1=[i for i in range(2,n+1) if prime(i) and prime(i+2) and (i+2<=n)]

print(len(l1))

1007 素數對猜想 20

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

1007 素數對猜想 20

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

1007 素數對猜想 20

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現...