從小的數(shù)字看起..10里有1個(gè)100是10的10倍.但是100里還有70-79都是..所以就是 1*9+10=19個(gè)
那么1000就是 (1*9+10)*9+100
10000就是 ((1*9+10)*9+100)*9+1000嗯.是麻煩.所以要把公式提煉出來(lái)把這個(gè)算術(shù)式分析一下。就可以得到公式
這個(gè)東西算出來(lái)就是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之間含有數(shù)字7的個(gè)數(shù)總和? 簡(jiǎn)化為 求 10000以內(nèi)的含有數(shù)字7的數(shù)的應(yīng)該這樣9的3次方*10的0次方 + 9的2次方*10的1次方 + 9的1次方*10的2次方 + 9的0次方+10的3次方
其實(shí)就是要求N位數(shù)的含有某數(shù)字的個(gè)數(shù)先求出N為數(shù)的最小數(shù)a然后計(jì)算a以內(nèi)有多少個(gè)acount=9的n-2次方*10的0次方 + .... + 9的0次方*10的n-2次方.
然后用該整數(shù)除以a得到該整數(shù)是a的b倍..再用b*acount.得出該整數(shù)減去該整數(shù)除以a的余數(shù)包含的所有包含該數(shù)字的數(shù)的數(shù)量依次類(lèi)推..
這個(gè)可以一直做下去。 2008080808 = 2000000000 先求出 2000000000 包含的個(gè)數(shù) 8000000 再求8000000內(nèi)包含的個(gè)數(shù) 800 ... 8 ...
(改天附上程序?qū)崿F(xiàn))
一下是程序?qū)崿F(xiàn):

































































