题意:
给出一个数N,问所有满足n/x=y(此处为整除)的所有x*y的总和是多少。对答案mod(1e9+7)。
1 <= T <= 500。
1 <= N <= 1e9。
分析:
可以枚举x得到y,但是这样是O(n)的会TLE
当x<=sqrt(n)的时候,我们可以暴力枚举
当x>sqrt(n)的时候,我们发现很多x对应的y值都相等,这些组成一个等差序列,实际上,这时候的(x,y)就是我们之前暴力过的(y,x),等差数列求和即可
题意:
给出一个数N,问所有满足n/x=y(此处为整除)的所有x*y的总和是多少。对答案mod(1e9+7)。
1 <= T <= 500。
1 <= N <= 1e9。
分析:
可以枚举x得到y,但是这样是O(n)的会TLE
当x<=sqrt(n)的时候,我们可以暴力枚举
当x>sqrt(n)的时候,我们发现很多x对应的y值都相等,这些组成一个等差序列,实际上,这时候的(x,y)就是我们之前暴力过的(y,x),等差数列求和即可