PTA 1013 數素數 python超時解決

2021-09-25 04:45:00 字數 938 閱讀 6288

令 p​i表示第 i 個素數。現任給兩個正整數 m≤n≤10​4 ,請輸出 p​m到 p​n的所有素數。

輸入格式:

輸入在一行中給出 m 和 n,其間以空格分隔。

輸出格式:

輸出從 p​m到 p​n的所有素數,每 10 個數字佔 1 行,其間以空格分隔,但行末不得有多餘空格。

輸入樣例:

5 27

輸出樣例:

11 13 17 19 23 29 31 37 41 43

47 53 59 61 67 71 73 79 83 89

97 101 103

首先使用了1007中的思想,發現有兩個判定超時。隨後使用用空間換時間的方法,原理非常簡單:乙個大範圍內所有數字標記為true,找到乙個素數將大範圍內此素數的所有倍數全標記為false,並將此素數加入佇列。依次選擇素數進行標記(標記為true的數即為素數)。

str1 = list(map(int , input().split()))

l =

num = 3

flag = [true]*(150005)

p=2while(p<=150000):

for i in range(2*p,150000,p):

flag[i] = false

while 1:

p += 1

if(flag[p]==true):

break

l = l[str1[0] - 1 :str1[1]]

for i in range(len(l)):

if (i+1)%10 == 0:

print(l[i])

elif i == str1[1]-str1[0]:

print(l[i], end='')

else:

print(l[i], end=' ')

PTA 1013 數素數 (20 分

這題很水。但是給了我乙個小提示。那就是,素數篩的界限,是1 maxn的範圍 人家題意是第n到第m個素數,maxn太小會出界,你並不知道第i個素數會不會大於maxn。貼一下ac 吧 include include include include include include include incl...

PTA 1013 數素數 20分 C語言

1013 數素數 20分 令 p i 表示第 i 個素數。現任給兩個正整數 m n 10 4 請輸出 p m 到 p n 的所有素數。輸入格式 輸入在一行中給出 m 和 n,其間以空格分隔。輸出格式 輸出從 p m 到 p n 的所有素數,每 10 個數字佔 1 行,其間以空格分隔,但行末不得有多餘...

1013數素數(素數)

時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 令pi表示第i個素數。現任給兩個正整數m n 104,請輸出pm到pn的所有素數。輸入格式 輸入在一行中給出m和n,其間以空格分隔。輸出格式 輸出從pm到pn的所有素數,...