题目链接
题解
可以看出fff函数就是约数个数。直接O(n)O(\sqrt{n})O(n)求约数个数函数的前缀和即可。
代码
#includetemplate T read(){ T x=0; int f=1; char ch=getchar(); while((ch<'0')||(ch>'9')) { if(ch=='-') { f=-f; } ch=getchar(); } while((ch>='0')&&(ch<='9')) { x=x*10+ch-'0'; ch=getchar(); } return x*f;}const int mod=998244353;int getsum(long long n){ int ans=0; for(long long l=1,r; l<=n; l=r+1) { r=n/(n/l); ans=(ans+(r-l+1)*(n/l))%mod; } return ans;}long long l,r;int main(){ l=read (); r=read (); int ans=getsum(r)-getsum(l-1); if(ans<0) { ans+=mod; } printf("%d\n",ans); return 0;}