日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

求一个数字中1的个数

發布時間:2024/7/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 求一个数字中1的个数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

輸入一個整數n,求從1到n這n個整數的十進制表示中1出現的次數。

如18出現了1 10 11 12 13 14 15 16 17 18 總計10次?

?例如一個5位數x=48292

?萬位數? 10000-19999共有10000個

?千位數? 5*(1000)此時萬位數的取值可以是0 1 2 3 4 共5個所以有5種

?百位數? 00100-48292 共有100*49

? 十位數 00010-48292 共有482*10

?個位數4830*1

總計10000+5000+4900+4820+4830

規律

c >1:?00?1?00 -- ab?1?99,共計 (ab+1)*100種,其中(ab+1)表示萬千位可以取00-ab,共計ab+1種。因為c>1所以 ab199<abcde,所以這些數都是在1 -- abcde范圍內。

?

c=0:??00?1?00 -- a (b-1)?1?99, 總共有ab*100種,而a(b-1)200-ab099之間,都沒有百位=1的數字出現了。

?

c=1:??我們可以把c = 1的數字分成以下2種情況之和

?

? ? ? ? ? ? ?00?1?00 -- a(b-1)1?99 :總共ab * 100種可能性;

?

a(b-1)?2?00 -- ab 0 99:這段數字中百位=1的的數字數目為0;

?

? ? ? ? ? ? ? ab 1 00 -- ab 1 cd:共計cd+1種可能性;

?

所以c =1的數字數目,等于c=0的數字數目,加上abcde%100 +1。

?

轉載于:https://www.cnblogs.com/masimian/p/4552829.html

總結

以上是生活随笔為你收集整理的求一个数字中1的个数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。