自1-300全体自然数中,不含数字1的数共有多少个

问题描述:

自1-300全体自然数中,不含数字1的数共有多少个

百位可为:0,2
十位可为:0,2,3,4,5,6,7,8,9
个位可为:0,2,3,4,5,6,7,8,9
还有一个特殊的300
所以共:2*9*9+1=163个

140个
1到99出现1 的次数为 :1+11+8=20
100到199出现1的次数为1+11+8+100=120
200到300出现1的次数为1+11+8=20
共出现1的次数为20+120+20=160
不含数字1的数=300-160=140

脑筋急转弯么?
1-300,共有300个自然数。
10-19, 这10个当然先除去
100-199,这100个当然先除去,
210-219,这10个当然先除去
观察
001-009,含1个
020-029,含1个
030-039,含1个
040-049,含1个
050-059,含1个
060-069,含1个
070-079,含1个
080-089,含1个
090-099,含1个
==小计:9个===
201-299 如上,也是如小计9个
至此,已经除去 10+100+10+9+9=138个
300-138=162个数字————是不含数字1的。
当中可能有纰漏,这样考虑准没错的。
大不了就数数呗……(写段代码执行一下也马上能得结果了……)

300-138 162个
1到99出现1的次数为 :10+9=19(个位为1的10个,十位为1的10个,减去一个11)
100到199全部 100个
100到300出现1的次数与1到99相同 19个
共出现1的次数为162

100以内:
9,20~99,去掉21、31、……91共8个数
符合条件的有:8+80-8=80个数
100~199,百位含1,均不符合要求
200~300以内
200,202~209,220~300,去掉221、231、……291共8个数,
符合条件的有:1+8+81-8=82个数
所以,共有:80+82=162个数