社区讨论

求助题目

题目总版参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhjrzirw
此快照首次捕获于
2025/11/04 07:32
4 个月前
此快照最后确认于
2025/11/04 07:32
4 个月前
查看原帖

P1865 A % B Problem

CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e6 + 7;
int l, r, a[N], arr[N], n, m;
signed main(){
    cin >> n >> m;
    a[1] = 1;
    for(int i = 2; i * i <= m; i ++){
        if(a[i] == 0){
            for(int j = i + i; j <= m; j += i)
                a[j] = 1;
        }
    }
    for(int i = 1; i <= m; i ++){
        if(a[i] == 0) arr[i] = arr[i - 1] + 1;
        else arr[i] = arr[i - 1];
    }
    for(int i = 1; i <= n; i ++){
        cin >> l >> r;
        if(r > m) cout << "Crossing the line\n";
        else cout << arr[r] - arr[l - 1] << "\n";
    }
    return 0;
}
代码只是获得了59分: 求调,悬赏1个关注,先到先得

回复

2 条回复,欢迎继续交流。

正在加载回复...