[PAT乙级]1013 数素数
生活随笔
收集整理的這篇文章主要介紹了
[PAT乙级]1013 数素数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
令 P?i?? 表示第 i 個素數。現任給兩個正整數 M≤N≤10?4??,請輸出 P?M?? 到 P?N?? 的所有素數。
輸入格式:
輸入在一行中給出 M 和 N,其間以空格分隔。
輸出格式:
輸出從 P?M?? 到 P?N?? 的所有素數,每 10 個數字占 1 行,其間以空格分隔,但行末不得有多余空格。
輸入樣例:
輸出樣例:
11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103知識點:
10 以內共 4 個質數.100 以內共 25 個質數.1000 以內共 168 個質數.10000 以內共 1229 個質數.100000 以內共 9592 個質數.1000000 以內共 78498 個質數.10000000 以內共 664579 個質數.100000000 以內共 5761455 個質數.代碼如下:
#include <iostream> using namespace std; const int N = 1001000; int prime[N]; bool vis[N] = { false }; int k; void initPrime() {k = 1;for (int i = 2; i < N; i++){if (!vis[i]) {prime[k++] = i;for (int j = 2 * i; j < N; j += i) vis[j] = true;}} }int main() {initPrime();int a, b;cin >> a >> b;int cnt = 0;for (int i = a; i <= b; i++){cout << prime[i];cnt++;if (cnt % 10 == 0) cout << endl;else if (i != b) cout << " ";}return 0; }總結
以上是生活随笔為你收集整理的[PAT乙级]1013 数素数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [PAT乙级]1011 A+B 和 C
- 下一篇: [PAT乙级]1016 部分A+B