【题意】
给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值。
例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7。
【输入格式】
输入仅一行,包含两个整数n, k。
【输出格式】
输出仅一行,即j(n, k)。
【数据范围】
1≤n,k≤10^9
【输入样例】
5 3
【输出样例】
7
- 对于一个i,求k除以i的余数,有 k mod i = k - floor(k/i)*i 【PS:floor 表示向下取整】
- 那么对于1、2、3、……n,求k除以它们的余数之和,有
- k - floor(k/1)*1 + k - floor(k/2)*2 + k - floor(k/2)*2 + k - floor(k/3)*3 …… k - floor(k/n)*n
- 根据加法交换律和加法结合律,可得:原式= k*n - floor(k/i)*i(其中i要分别取1~n)