PAT 乙级 1013

Posted moujun1001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT 乙级 1013相关的知识,希望对你有一定的参考价值。

  还是审题没把范围看清楚,没一次AC

  题中m和n都表示第几个素数,范围是10000,所以查询的数组中需要的素数量至少10000,所以需要计算大概2~120000的整数才能查到10000个素数

#include <iostream>
#include <cmath>
#include <vector>
using namespace std;

bool prime(int x) {
    for (int i = 2; i <= sqrt(x); i++) {
        if (x % i == 0)
            return false;
    }
    return true;
}

int main() {
    vector<int> num;
    for (int i = 2; i < 150000; i++) {
        if (prime(i))
            num.push_back(i);
    }
    int m = 0, n = 0;
    cin >> m >> n;
    int cnt = 0;
    for (int i = m - 1; i < n; i++) {
        cout << num[i];
        cnt++;
        if (cnt != 10 && i != n - 1)
            cout <<  ;
        else {
            cnt = 0;
            cout << endl;
        }
    }

    return 0;
}

 

以上是关于PAT 乙级 1013的主要内容,如果未能解决你的问题,请参考以下文章

PAT 乙级 1013

PAT 乙级真题 1013.组个最小数

PAT乙级1013 数素数 (20 分)

PAT乙级1013.数素数

PAT-乙级-1013 数素数

PAT 乙级 1013. 数素数 (20)