学习来自:整除分块(数论分块)
简单例题 P1403 [AHOI2005]约数研究 P3935 Calculating
模板:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=998244353;
ll cal(ll n){
ll ans=0;
for(ll l=1,r;l<=n;l=r+1){
r=n/(n/l);
ans=(ans+(r-l+1)*(n/l))%mod;
}
return ans%mod;
}
int main(){
ll l,r;
cin>>l>>r;
printf("%lld\n",(cal(r)-cal(l-1)+mod)%mod);
}