k/i(1=<i<=n)的和
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
long long n,k,ans;
int main()
{
scanf("%lld%lld",&n,&k);
long long l,r;
for(l=1;l<=n;l=r+1)
{
if(k/l!=0) r=min(k/(k/l),n);
else r=n;
ans+=(k/l)*(r-l+1);
}
printf("%lld\n",ans);
}
题目链接
k%i(1=<i<=n)的和
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
long long n,k,ans;
int main()
{
scanf("%lld%lld",&n,&k);
ans=n*k;
long long l,r;
for(l=1;l<=n;l=r+1)
{
if(k/l!=0) r=min(k/(k/l),n);
else r=n;
ans-=(k/l)*(r-l+1)*(l+r)/2;
}
printf("%lld\n",ans);
}