且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

88上的数学题目(3)

更新时间:2022-05-02 23:48:55

非常高兴,又见到了我最喜欢的数学题目。这已经是第三篇数学题目文章。原帖号称是初中数学题,惭愧的是我这个master的数学基础薄弱。。。。下面是题目的原帖:

题目: 发信人: wonuvy (日格一物百合帮米米坛之九五二七), 板面: ZJUOnline
标  题: 初中数学题,急问
发信站: 飘渺水云间 (Fri Jan 25 16:16:43 2008), 转信

从2的0次方,到2的2008次方这2009个数字里,有多少个数字的最高位是1?
请给出答案,并证明。

对于此问题,当然是指10进制,那些投机的和不重要的回帖掠过,我们看回帖中的几个重要结论:
最先给出答案的帖子:
-----------------------------------------------------------------------------------
发信人: Izual (再睡五分钟~真的!), 板面: ZJUOnline
标  题: Re: 初中数学题,急问
发信站: 飘渺水云间 (Fri Jan 25 16:32:31 2008), 站内信件

也就是问2^2008有多少位。
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
发信人: Izual (再睡五分钟~真的!), 板面: ZJUOnline
标  题: Re: 初中数学题,急问
发信站: 飘渺水云间 (Fri Jan 25 16:35:06 2008), 站内信件

不管2^n是什么数字开头
2^(n+1)要么位数和2^n相同,如果多一位肯定是1开头
-------------------------------------------------------------------------------------
上面的回帖给出了对答案的解释。因为在相同位数的2^n中,只有第一个数字的首位可能是1。其他后续数字在不升位的情况下,无论怎么样都不可能重现1开头。因此,我们只要统计有多少次升位即可。因此问题转化为,最后一个数字有多少位。

--------------------------------------------------------------------------------------
发信人: Izual (再睡五分钟~真的!), 板面: ZJUOnline
标  题: Re: 初中数学题,急问
发信站: 飘渺水云间 (Fri Jan 25 16:41:33 2008), 站内信件

1+2008lg2取整很复杂么

【 在 justee (ee) 的大作中提到: 】
: 其实你们把问题复杂化了,最后一个数字的位数的问题,比原题要复杂。。?
: 【 在 hoodlum (fafa) 的大作中提到: 】
: : 好结论。只要统计最后一个数字有多少位就行了。
: : 而且同样位数里面只有第一个是以1开头。
----------------------------------------------------------------------------------------
至此,我们得到了结论,问题成为2的2008次方具有多少位,假设该数字用科学计数法表示成a * 10^b,(1<a<10), 问题转化为是(b+1)=?
对它求lg,则

        lg(a * (10^b) )=lg (a)+b =lg(2^2008)=2008*lg2,
        b=2008*lg2-lg(a)=2008*0.301-lg(a)=604.468-lg(a),
        由于b是整数,并且0<lg(a)<1,因此lg(a)就是604.468的小数部分,即b=604。
        因此问题的答案=(b+1)=605(个)首位为1的数字。PS:感谢楼主wonuvy的题目,以及Izual提供的提示和解答。