求助!!!
查看原帖
求助!!!
1554031
lzhhhh2楼主2024/12/14 20:30
#include <iostream>
using namespace std;

bool P[10000001];
int a[100000001];
int Size;
void pd();


bool isp(int m) {
    if (m <= 1) {
        return false;
    }
    for (int i = 0; i < Size && a[i] * a[i] <= m; i++) {
        if (m % a[i] == 0) {
            return false;
        }
    }
    return true;
}


void pd(int n) {
    Size = 0;
    for (int i = 2; i <= n; i++) {
        P[i] = true;
    }
    for (int i = 2; i <= n; i++) {
        if (P[i]) {
            a[Size++] = i;
        }
        for (int j = 0; j < Size && i * a[j] <= n; j++) {
            P[i * a[j]] = false;
            if (i % a[j] == 0) {
                break;
            }
        }
    }
}



int main() {
    int n;
    cin >> n;
    pd(n);

    int m;
    for (int i = 0;i < n; i++ ){
        cin >> m;

        if (isp(m)) cout << m << " ";
    }
    return 0;
}

找了半天都没找到问题在哪里,求大佬帮助

2024/12/14 20:30
加载中...