建议降橙
查看原帖
建议降橙
780774
iqiqiqiqiqiqiqiq楼主2024/7/21 20:57

这题太水了,就是数组和质数的综合应用而已。。。质数判断加数组直接拿捏了好吗。。。

#include<iostream>
using namespace std;
bool a[1000001];
bool prime(int i){
    if(i==1)return 0;
    for(int j=2;j*j<=i;j++){
        if(i%j==0)
            return 0;
    }return 1;
}
void set(int n){
    for(int i=1;i<=n;i++){
        if(prime(i))
            a[i]=1;
    }
}
int main(){
    int m,n,l,r;
    cin>>m>>n;
    set(n);
    while(m--){
        cin>>l>>r;
        if(l<1||r>n)
            cout<<"Crossing the line\n";
        else{
            int cnt=0;
            for(int i=l;i<=r;i++){
                if(a[i])
                    cnt++;
            }cout<<cnt<<endl;
        }
    }return 0;
}
2024/7/21 20:57
加载中...