我的作法是一一判斷每個位數的0~9出現次數為幾次
設i為0~9,k為某個位數
其中拆成i小於k,i=k,i大於k,3種狀況判斷
例如21375,
k為百位數,為3
計算百位數的0~9共出現幾次
i小於k
1~2出現(21+1)*100次 1xx,11xx...211xx
i=k
3出現21*100+75+1次 3xx,13xx...203xx,21300~21375
i大於k
4~9出現21*100次 4xx,14xx...204xx
其中0要注意的是因為少了0xx的部分,所以雖然是i<k
為(21+1)*100-100次
即完成百位數0~9總數的判斷,同樣道理判斷千位數,萬位數...即可
搞了我幾個小時
回頭看其實也是蠻水的
就一些數學
我的邏輯真的不夠清晰...