concur. Will the following answer stand?

来源: 2014-12-29 22:42:12 [旧帖] [给我悄悄话] 本文已被阅读:

we know 1+2+3+...+n = n(n+1)/2

1+2+3+...+2000 = 2000 x 2001 / 2 = 2001000

2001000 mod 2000 = 1000, so we need to find out which value(s) lands on the 1000th point.

[n(n+1)/2] mod 2000 = 1000 =>

n(n+1) mod 4000 = 2000 =>

n(n+1) = 2000 + 4000k, k = 0, 1, ..., [n(n+1) - 2000]/4000

in another word, n(n+1) has to end up as an even multiple thousands (2000, 6000, 8000, 12000, etc), while n <= 2000.
Notice n and (n+1) are two consecutive numbers, the only hope is:

999 x 1000 = 999000, not even thousands (999)
1000 x 1001 = 1001000, not even thousands (1001)

No product of any other two consecutive numbers (< 2000) will produce a number with whole thousand (ending 3 zeros),

therefore, the 1000th position has not been landed by any other number before the number 2000,

hence 2000 is the answer.