题解 | #Prime Number#

Prime Number

https://www.nowcoder.com/practice/c5f8688cea8a4a9a88edbd67d1358415

#include <bits/stdc++.h>
using namespace std;
#define MAX 10001
bool isPrim(int num) { // 优化:使用平方根
    for (int i = 2; i <= sqrt(num); i++) if (num % i == 0) return false;
    return true;
}
void getAllPrim(int* parr) { // 首先计算出所有的前10000个质数,存入矩阵
    int count = 1, num = 2;
    while (count < MAX) {
        if (isPrim(num)) parr[count++] = num;
        num++;
    }
}
int main() {
    int parr[MAX];
    getAllPrim(parr);
    int k;
    while (cin >> k) cout << parr[k] << endl; //直接查表
    return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务