RT,
写法1
int Calculate(int x)
{
int ans=0;
for(int l=1,r; l<=x; l=r+1)
{
r=x/(int)(x/l);
ans=(ans+(min(r,x)-l+1)*(x/l))%mod;
}
return ans;
}
写法2
int Calculate(int x)
{
int ans=0;
for(int l=1,r; l<=x; l=r+1)
{
r=x/(int)(x/l);
ans=(ans+(r-l+1)*(x/l))%mod;
}
return ans;
}
这两种写法都能 AC,但是第二种写法的 r 指针不会超过给定的 x 吗?不会造成越界吗
求解。