粉+红=RE+WA
查看原帖
粉+红=RE+WA
355424
Lish_Xizse楼主2021/6/25 23:14

求助!!!

#include<iostream>

#include<algorithm>

#include<cmath>

#include<cstdlib>

#include<ctime>

#include<cstdio>

#include<iomanip>

#include<cstring>

#include<string>

#include<stdio.h>

#include<string.h>

using namespace std;

#define maxn 1000010

int n,N,pri[10000];

typedef long long LL;

bool a[maxn];

int Eratosthenes_Sieve(int n,int pri[]){

    for(int i=2;i*i<=n;i++){

        if(a[i]==0){

            for(int j=i<<1;j<=n;j+=n)

                a[j]=1;

        }

    }

    int cnt=0;

    for(int i=2;i<=n;i++){

        if(!a[i])pri[cnt++]=i;

    }

    return cnt;

}

int main()

{

    int cnt=Eratosthenes_Sieve(50000,pri);

    LL L,R;

    scanf("%lld %lld",&L,&R);

    memset(a,0,sizeof(a));

    for(int i=0;i<cnt;i++){

        for(LL j=max(2ll,(L-1)/pri[i]+1)*pri[i];j<=R;j+=pri[i]){

            a[j-L]=1;

        }

    }

    int ans=0;

    for(LL i=L;i<=R;i++)

        if(a[i-L]==0)ans++;

    printf("%d",ans);

    return 0;

}

怎么回事?

不是RE就是WA (´。✪ω✪。`)帮忙找找错误,谢谢

2021/6/25 23:14
加载中...