從小的數字看起..10里有1個100是10的10倍.但是100里還有70-79都是..所以就是 1*9+10=19個
那么1000就是 (1*9+10)*9+100
10000就是 ((1*9+10)*9+100)*9+1000嗯.是麻煩.所以要把公式提煉出來把這個算術式分析一下。就可以得到公式
這個東西算出來就是9*9*9+810+900+1000=9的三次方*10的0次方+9的2次方*10的一次方 + 9的1次方*10的2次方+9的0次方*10的3次方
(9*9*9) (810) (900) (1000)
如果把 求1到2008080808之間含有數字7的個數總和? 簡化為 求 10000以內的含有數字7的數的應該這樣9的3次方*10的0次方 + 9的2次方*10的1次方 + 9的1次方*10的2次方 + 9的0次方+10的3次方
其實就是要求N位數的含有某數字的個數先求出N為數的最小數a然后計算a以內有多少個acount=9的n-2次方*10的0次方 + .... + 9的0次方*10的n-2次方.
然后用該整數除以a得到該整數是a的b倍..再用b*acount.得出該整數減去該整數除以a的余數包含的所有包含該數字的數的數量依次類推..
這個可以一直做下去。 2008080808 = 2000000000 先求出 2000000000 包含的個數 8000000 再求8000000內包含的個數 800 ... 8 ...
(改天附上程序實現)
一下是程序實現:

































































