数学问题0的个数

 我来答
WskTuuYtyh
2022-07-04 · TA获得超过1万个赞
知道大有可为答主
回答量:3148
采纳率:84%
帮助的人:1362万
展开全部
题1,2: http://zhidao.baidu.com/question/158071120.html
题1:从1开始,依自然数的顺序写12345...20212022,一直写到2022为止,其中有几个0
题2:从1开始,依自然数的顺序写12345...20212022...2222,一直写到2222为止,其中有几个0

方法0:用excel生成1到n(如不了解,请见###),然后将0替换为0自身,替换全部,可以根据替换的次数知道0的个数。

(###数据生成过程:
在excel工作表中任选一个空白列,首格填入数字1,按alt_EIS(菜单“编辑-填充-序列”)设置终值为n,回车。

这种方法也用来检验下面的结果。
更详细过程或扩展,见我在回答内容最后提供的我的博文链接。

方法一:
(利用个位为0,十位为0,百位为0...的数的个数,对数的个数进行不重不漏的计算,即得结果。)
题1解:
个位为0的数的个数: [2022/10]=202
十位为0的数,可以视为被100整除的数的个位被0~9替换所成,于是个数为:[2022/100]*10=200
(因为2000的0被0~9替换,即2001~2009,未超过2022,故不扣除)
百位为0的数,视为被1000整除的数的后两位被0~99替换所成,然后扣除掉过大的数2023~2099,于是个数为[2022/1000]*100-(99-23+1或77)=123
上面过程中,我们着眼于所含的0的位置,总数加起来就是所有0的个数。
即:202+200+123=525

题2解:
个位为0的数的个数: [2222/10]=222
十位为0的数,可以视为被100整除的数的个位被0~9替换所成,于是个数为:[2222/100]*10=220
(因为2000的0被0~9替换,即2001~2009,未超过2222,故不扣除)
百位为0的数,视为被1000整除的数的后两位被0~99替换所成,数2023~2099无需扣除,于是个数为[2022/1000]*100=200
上面过程中,我们着眼于所含的0的位置,总数加起来就是所有0的个数。
即:222+220+200=642

方法二:列举法。按0的多少列举兼及按含0的数的大小顺序列举。
题1解:
考虑每个自然数为一个子项。记*代指一个非0数字(任意取1~9).
以下分析子项的形状并计数。
含有0的二位数:形如*0, 0的个数为9;
含有0的三位数:形如*00,*0*,**0, 0的个数为9*2+81+81=180;
含有0的四位数:
首位为1的,可为上面的三位数前置1, 0的个数为180;
____再加上形如100*,10*0,10**,1000型, 0的个数有2*9+2*9+81+3=120。
首位为2的,考虑到不超过2022,形如2000,200*,2010,201*,2020,202#
(这里按数由小到大排列,#表示1~2)
0的个数为3+2*9+2+9+2+2=36
故所求总数为 (9+180+(180+120)+36)=525

题2解:
类似题1,仅首位为2的另加考虑。(以下#指1或2)
首位为2的,考虑到不超过2222,形如2000,200*,20*0,20**,2100,210*,21*0,2200,220*,22#0 (这里按数由小到大排列排列)
0的个数为: (3+2*9+2*9+81+2+9+9+2+9+2)=153
于是所求总数为 (9+180+(180+120)+153)=642

更详细内容和扩展,请见:
http://hi.baidu.com/wsktuuytyh/blog/item/2fa488e719630323b838206c.html
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式