全RE求助
查看原帖
全RE求助
737409
NaturalSelection楼主2023/3/20 22:10

输出很怪

输入 #1
2 11
输出 #1
2 1
3 1
4 0
5 1
6 0
7 1
8 0
9 0
10 0
11 1

代码:

(欧拉筛)

#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
#define MAXN 2147483647
bool isprime[MAXN]; 
long long prime[MAXN];
long long l,r;
int sum;
long long cnt;
void euler()
{
    memset(isprime, true, sizeof(isprime)); 
    isprime[1] = false; 
    for(long long i = l; i <= r; ++i) 
    {
        if(isprime[i]) prime[++cnt] = i;
        for(long long j = 1; j <= cnt && i * prime[j] <= r; ++j){
            isprime[i * prime[j]] = false;
            if(i % prime[j] == 0) break;
        }
    }
}
int main(){
    cin>>l>>r;
    euler();
    for(long long i=l;i<=r;i++){
    if(isprime[i]==1)sum++;
    }
    cout<<sum;
}
2023/3/20 22:10
加载中...