容易发现题目要求的 (f(x)) 就是 (x) 的不同因子个数
现在考虑如何求 (sum_{i=1}^n f(i)),可以考虑去算每个数作为因子出现了多少次,很容易发现是 ([n/i])
于是整除分块一下就可以了
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod = 998244353;
int f(int n) {
int l=1,ans=0;
while(l<=n) {
int r=n/(n/l);
(ans+=(r-l+1)*(n/l))%=mod;
l=r+1;
}
return ans;
}
signed main() {
int l,r;
cin>>l>>r;
cout<<(mod+f(r)-f(l-1))%mod<<endl;
}