救救孩子…………
查看原帖
救救孩子…………
775044
wkl20110514楼主2023/1/31 12:26

附上代码:

#include<bits/stdc++.h>
#define MAXN 100000003
using namespace std;
long long a[MAXN];
bool b[MAXN];
void ny(long long n) {
    long long x = 1;
    for (long long i = 2; i <= n; i++) {
        if (b[i]) {
            a[x] = i;
            x++;
        }
        for (int j = 1; j <= x && a[j] * i <= n; j++) {
            b[a[j] * i] = false;
            if (i % a[j] == 0) break;
        }
    }
}
int main() {
    long long L, r, m, n, num;
    memset(b, true, sizeof(b));
    scanf("%lld%lld", &n, &m);
    ny(m);
    for (int i = 0; i < n; i++) {
        scanf("%lld%lld", &L, &r);
        if (r > m || L < 1) {
            printf("Crossing the line\n");
            continue;
        }
        num = 0;
        for (int j = 0;a[j]<=r; j++) {
            num += a[j] >= L ? 1 : 0;
        }
        printf("%lld\n", num);
    }
    return 0;
}

运行时错误,但在VS上是对的,大佬们看看,谢谢啦

2023/1/31 12:26
加载中...