怎么只有80分,检查过好多遍了
查看原帖
怎么只有80分,检查过好多遍了
890321
mooktian楼主2022/12/20 16:56
#include <bits/stdc++.h>
using namespace std;
bool isprime[1000001];
int prime[1000001],p=0;
void ola_prime(int n) {
    memset(isprime,1,sizeof(isprime));
    for(int i=2;i<=n;i++) {
        if (isprime[i]) prime[p++]=i;
        for (int j=0;j<p&&i*prime[j]<=n;j++) {
            isprime[i*prime[j]]=0;
            if (i%prime[j]==0) break;
        }
    }
}

int main() {
    int x,y,ans=0;
    cin>>x>>y;
    if (x>y) swap(x,y);
    ola_prime(y);
    for(int i=0;i<p;i++) {
        if (prime[i]>=x) ans++;
    }
    cout<<ans;
}
2022/12/20 16:56
加载中...