1-2015共2015个自然数依次写出得到一个多位数1234.....2015,逐位取数求和,即1+2+3+4+......+2+0+1+5=?

我已算出一个总数,验证下,有好思路请您分享
偶然百度到一个,比我的高明,答案都是28098,核心是“配对”:
0与1999
1与1998
……
999与1000
共有1000对,
每对的数码和都是
1+9+9+9=28
所有数码的和为
28×1000+2+(2+1)+(2+2)+……+(2+9)+(2+1)+(2+1+1)+……+(2+1+5)
=28000+2+3+……+11+3+4+5+6+7+8
=28000+65+33
=28098
我是先研究0-1999,设为ABCD,补0(多少0加进去无碍结果),形成阅兵方阵,一方阵:
0000 0001 .... 0009
0010 0011 .... 0019
....
0090 0091 ... 0099
CD为00-99,AB为00-19.(所以是20个方阵*100个兵)。每个方阵CD里数字i(i=1,2,..,9)都是横着数、竖着数各10个。每个方阵CD这部分的和为20*9*10/2=900 {我喜欢用1+2+3+..+n=n(n+1)/2}。剩下AB这部分,也就是00,..19各重复100次,对折成10对00-19,..08-11,09-10。总和20*900+10*10*100+98=28098

第1个回答  2017-02-28
个位数字从0到9,依次循环201次,求和=(0+9)×10÷2×201+(1+2+3+4+5)=9060,
十位数字从0×10到9×10,依次循环20次,求和=(0+9)×10÷2×10×20+1×5=9005,
百位数字从0×100到9×100,依次循环2次,求和=(0+9)×10÷2×100×2=9000,
千位数字从0×1000到2×1000,依次循环1次,求和=(0+2)×3÷2×1000×1=3000,
9060+9005+9000+3000=30065,
所有数字之和是30065。
相似回答