求一个面试题的证明过程。

shengli_liao 2008-11-11 10:53:23
前几天看李开复参加的对话节目,当场面试清华博士生,其中有两个题目很有意思。
=================================================================
1、一副扑克片,拿去大小王,剩52张,任意抽两张牌,抽到一红一黑的概率多大?
2、1000个苹果放入10个箱子。客户如果要获得1~1000个苹果中的任意个数,都可以整箱搬,而不用拆开箱子。问世否有这样的装箱方法?
=================================================================
第一题我得出的答案是1/3。
第二题按照节目中的提示,应该是有这样的装箱方法,结果是:
1,2,4,8,16,32,64,128,256,489
我通过程序可以验证1~1000都可以表示成上面几个数的和。
=================================================================
但是当试着用数学归纳法或者级数分解证明其过程时没有思路,百思不得其证明。
不知道有没有兴趣朋友一起讨论。
...全文
175 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
openepo 2008-11-12
  • 打赏
  • 举报
回复
不好意思,我在18楼写错了。里面应该是n9*2^8 而不是 n9*2^9。
n1*2^0 + n2*2^1+n3*2^2+ ... + n9*2^8 + n10*489
robortxu 2008-11-11
  • 打赏
  • 举报
回复
哇塞,概率问题差不多忘了,只记得这个是取后不放回去和取后放回去是不同的概率。
lihan6415151528 2008-11-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 shengli_liao 的帖子:]
我通过程序可以验证1~1000都可以表示成上面几个数的和。 [/Quote]
楼主把证明程序贴出来~
lihan6415151528 2008-11-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Wing198812 的回复:]
第一题:(1/2)*(26/51)+(1/2)*(26/51)=26/51
[/Quote]
这个对
htziyou 2008-11-11
  • 打赏
  • 举报
回复
26/51
kc8886 2008-11-11
  • 打赏
  • 举报
回复
忘了,统统忘了!
shengli_liao 2008-11-11
  • 打赏
  • 举报
回复
赫赫,结帖了
SylvanLiu 2008-11-11
  • 打赏
  • 举报
回复
第一题:(1/2)*(26/51)+(1/2)*(26/51)=26/51

第二题:1,2,4,8,16,32,64,128,256,489 ,这个用的难道不是归纳法吗?

不知对否
shengli_liao 2008-11-11
  • 打赏
  • 举报
回复
oh,天哪,知道证明过程了
一个高中的排列组合求和问题
正在寻找求和公式
calizy 2008-11-11
  • 打赏
  • 举报
回复
26/51
lizhi1026 2008-11-11
  • 打赏
  • 举报
回复
我第一题做出来感觉是 1/2。
你能把第二个程序 发发么
不懂编程 2008-11-11
  • 打赏
  • 举报
回复
帮顶吧,等待高手
wonflay 2008-11-11
  • 打赏
  • 举报
回复
1、一副扑克片,拿去大小王,剩52张,任意抽两张牌,抽到一红一黑的概率多大?  1/2
openepo 2008-11-11
  • 打赏
  • 举报
回复
所以箱子 1-10,拿不拿就可以看作是 1 或者 0。对应 n1...n10。于是,命题得证。
openepo 2008-11-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 shengli_liao 的帖子:]
前几天看李开复参加的对话节目,当场面试清华博士生,其中有两个题目很有意思。
=================================================================
2、1000个苹果放入10个箱子。客户如果要获得1~1000个苹果中的任意个数,都可以整箱搬,而不用拆开箱子。问世否有这样的装箱方法?
=====================================================…
[/Quote]

2^10 = 1024. 1000(DEC) = 1111101000(BIN)
所以 1000 以内的所有数字都可以用

n1*2^0 + n2*2^1+n3*2^2+ ... + n9*2^9 + n10*489 这样的表达式表达。其中 n1...n10 为 1 或者 0。
a03180204 2008-11-11
  • 打赏
  • 举报
回复
1-26/52*25/51*2=1-650/2652*2=1-1300/2652=1352/2652=26/51
1 2 4 8 16 32 64 128 256 489
shengli_liao 2008-11-11
  • 打赏
  • 举报
回复
[求证过程]
已知2为公比的等比数列:1,2,4,8,16,...
首先将前n项相加,得到和为:2**n-1
第n项与第1项相加得到和为:2**n
因此任取k个数相加的和属于(2**(n-1),2**n),且和不重复
前n项数列任取k个求和构成的和的个数为
Sum = C(n,1)+C(n,2)+C(n,3)+...+C(n,k)+...+C(n,n)

泰勒级数展开式为
f=f0+f1*x**1/(1!)+f2*x**2/(2!)+...+fn*x**n/(n!)+...
构造函数f=x**n
采用泰勒级数在x=1处展开则
f0=x**n=1
f1=nx**(n-1)=n
f2=n(n-1)x**(n-2)=n(n-1)
fn=n!x**0=n!
f(n+1)=0
令y=x-1由此
f=x**n=1+n*y+n(n-1)*y**2/2!+...+n!*y**n/n!
=1+C(n,1)y+C(n,2)*y**2+...+C(n,k)y**k+...+C(n,n)*y**n
当x=2时
2**n=1+C(n,1)+C(n,2)+...+C(n,k)+...+C(n,n)=Sum+1
因此
Sum=2**n-1
即前n项数列任取k个求和构成的和的个数为2**n-1
且所有的和不同,而第n+1项为2**n
命题得证。
=============================================
晕,浪费我整整一天时间。
TJYnebula 2008-11-11
  • 打赏
  • 举报
回复
=1/2
TJYnebula 2008-11-11
  • 打赏
  • 举报
回复
如不放回 (26/52)*(26/51)*2=26/51
放回 (26/52)*(26/52)*2-1/2

第二题结果是对的,怎么做出来的啊,有人能说下思路吗

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧