社区讨论
求问取模值为何可能是负数?
P3935Calculating参与者 5已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mlna2dea
- 此快照首次捕获于
- 2026/02/15 13:01 4 天前
- 此快照最后确认于
- 2026/02/19 12:10 4 分钟前
题目大意求约数个数。
CPP#include<iostream>
#include<queue>
#include<algorithm>
#include<cstring>
#include<vector>
#include<set>
using namespace std;
#define int long long
const int N = 1.6e14 + 10, mod = 998244353;
int le, ri;
int calc(int p){
int res = 0;
for(int l=1, r;l<=p;l=r+1){
r = p / (p / l);
res = (res + ((r - l + 1) % mod) * ((p / l) % mod) % mod) % mod;
}
return res;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
cin >> le >> ri;
cout << (calc(ri) - calc(le - 1) + mod) % mod;
return 0;
}
最后的这个取模化正数想破脑袋不知道为什么必须做。不做94pts。优答币官
回复
共 7 条回复,欢迎继续交流。
正在加载回复...