1. 已知i为整数,d[i]表示i的正约数的和,已知10000除以1到10000所有整数的余数和为17743986,求1<=i<=10000范围内所有d(i)的和的末4位()
A 1774 B 3986 C 6014 D 8225
解答:由题得 10000 = (10000 / x) *x +10000%x (1 ≤ x ≤ 10000), 这里遵从编程里的整数除法运算。
故而 10000^2 - 17743986 = ∑ (10000 / x) *x
我们再看 ∑ d(i) = d(1)+d(2)+......d(10000) = 1*n1+2*n2+3*n3+......10000*n. 这里解释一下,1~10000约数之和的和可以看做是每一个约数×它在所有被除数中出现的次数。现在我们只要证明n=10000 / x就可以了。显然,对于任意正整数x<10000,它的小于10000的倍数的个数有10000 / x 个(这里还是整数除法运算),换言之,它在被除数中出现的次数就是10000 / x,故而 ∑ d(i)=10000^2 - 17743986,答案是C。