求1到10^n的数字中有多少个0
组合数学作业题,我粗心写错了,这里记录一下正确做法。
i>1时,对所有i位数,最高位非0,后(i-1)位中,每种数字出现的次数之和相同,而后(i-1)位的数字个数总和为\(9(i-1)10^{i-1}\),其中9是最高位的取值个数,(i-1)是后(i-1)位的位数,\(10^{i-1}\)是后(i-1)位的取值个数。所以后(i-1)位的数字个数总和为\(9(i-1)10^{i-1}/10 = 9(i-1)10^{i-2}\)。算上\(10^n\)中的n个0,最终答案就是
\[n + \sum_{i=2}^{n}(9(i-1)10^{i-2})
\]
对于n=6,即求1到1000000的数字中有多少个0,答案就是
\[6 + 9(1+20+300+4000+50000) = 6+9*54321 = 488895
\]
我之前做错的地方就是没有乘上\(9(i-1)\)。真粗心啊。