题目要求的是1到2002的所有2002个自然数的个、十、百、千位上的数字总和。
位数和2位数的前面补0变成3位数,不会影响最后计算结果。
考虑从0到999这1000个数(从0开始等于从1开始,也不影响最后结果),
这前1000个数可以当作是从000到999的1000个数的各位数字和。
又因为0~9在每个位上出现1/10次,也就是每个数字出现1000*3/10=300次
前1000个数各位数字的和就是:
(0+9)*10/2*300=13500
同理,1000到1999
就是1000个1加上000~999各位数字和=13500+1000=14500
2000到2002的各位数字和2+3+4=7
因此,1到2002这2002个自然数的的个、十、百、千位上的数字总和
=13500+14500+7
=28007
把1和1998,2和1997......999和1000分别配对,每一对数字和是1+9*3=28。28*999+28+2+2+1+2+2=28009
用高斯求和公式
1+2+…+2002=(首项+末项)*项数*0.5
=(1+2002)*2002*0.5
= 2005003