A25279. remainder问题描述给出正整数n和k,计算G(n,k)=k mod 1 + k mode 2 + k mode 3 + ... + k mod n的值。其中,k mod i表示k除以i的余数。例如,G(5,3)=3 mod 1 + 3 mode 2 + 3 mode 3 + 3 mod 4 + 3 mod 5 = 0 + 1 + 0 + 3 + 3 = 7。输入说明输入仅一行,包含两个整数…
填空题
中等
知识点
题目描述
remainder
问题描述
给出正整数n和k,计算G(n,k)=k mod 1 + k mode 2 + k mode 3 + ... + k mod n的值。其中,k mod i表示k除以i的余数。
例如,G(5,3)=3 mod 1 + 3 mode 2 + 3 mode 3 + 3 mod 4 + 3 mod 5 = 0 + 1 + 0 + 3 + 3 = 7。
输入说明
输入仅一行,包含两个整数n、k。
输出说明
输出仅一行,即G(n,k)。
样例输入
5 3样例输出
7数据范围
40%的数据满足:1≤n,k≤1000
60%的数据满足:1≤n,k≤10^7
100%的数据满足:1≤n,k≤10^9
参考答案
#include <iostream>
using namespace std;
int main()
{
long long n,k,ans;
cin>>n>>k;
ans=n*k;
int L, R;
for(L=1; L<=n; L=R+1)
{
if(L>k)
R=n;
else
R=min(k/(k/L), n);
ans -= (k/L)*(L+R)*(R-L+1)/2;
}
cout<<ans<<endl;
return 0;
}
上一题
下一题