令 pi表示第 i 個素數。現任給兩個正整數 m≤n≤10^4,請輸出 pm到 pn的所有素數。
輸入格式:
輸入在一行中給出 m 和 n,其間以空格分隔。
輸出格式:
輸出從 pm到 pn的所有素數,每 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
【解題思路】
看到這個題我想到了兩種辦法,一種就是笨辦法,把全部素數放在乙個陣列,然後再去查詢(我就是偷懶用了這一種,然後就一直19分,第四個1點一直過不去)
還有就是動態的去判斷
後來看到網上的帖子說
for(int i=2;i<=100000;i++)
你並不知道第10000個素數是否超過了100000.問題就出在這裡。
突然發現,好像是啊,然後我就去改大了一下資料,試了幾組還是不對…我也無法確定第10000個素數是多少,然後我就去搜了一下,104729
提交上去,我的天,對啦!!!
我可真是個「小機靈鬼」 hahhhh
以後還是不要這樣寫呀~
[原始碼]
#include#includeusing namespace std;
int main()
if(num) p[++pos]=i;
} int m,n;
int cnt=0;
cin>>m>>n;
for(m;m<=n;m++)
return 0;
}
1013 數素數 (20 分
令 p i 表示第 i 個素數。現任給兩個正整數 m n 10 4 請輸出 p m 到 p n 的所有素數。輸入格式 輸入在一行中給出 m 和 n,其間以空格分隔。輸出格式 輸出從 p m 到 p n 的所有素數,每 10 個數字佔 1 行,其間以空格分隔,但行末不得有多餘空格。輸入樣例 5 27 ...
1013 數素數 (20 分
1013 數素數 20 分 令 p i表示第 i 個素數。現任給兩個正整數 m n 10 4 請輸出 p m到 p n的所有素數。輸入格式 輸入在一行中給出 m 和 n,其間以空格分隔。輸出格式 輸出從 pm到 p n的所有素數,每 10 個數字佔 1 行,其間以空格分隔,但行末不得有多餘空格。輸入...
1013 數素數 20 分
令 p i表示第 i 個素數。現任給兩個正整數 m n 104,請輸出 p m到 p n的所有素數。輸入格式 輸入在一行中給出 m 和 n,其間以空格分隔。輸出格式 輸出從 p m 到 p n 的所有素數,每 10 個數字佔 1 行,其間以空格分隔,但行末不得有多餘空格。輸入樣例 5 27 輸出樣例...