先学者为师

子曾经曰过:“三人行,必有我师!”,我听老祖宗的话,所以我的身边人都是我的老师。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  12 随笔 :: 0 文章 :: 12 评论 :: 0 Trackbacks
假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿1个,但最多不能超过5个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球?

解题思路:
1、我们不妨逆向推理,如果只剩6个乒乓球,让对方先拿球,你一定能拿到第6个乒乓球。理由是:如果他拿1个,你拿5个;如果他拿2个,你拿4个;如果他拿3个,你拿3个;如果他拿4个,你拿2个;如果他拿5个,你拿1个。2、我们再把100个乒乓球从后向前按组分开,6个乒乓球一组。100不能被6整除,这样就分成17组;第1组4个,后16组每组6个。3、这样先把第1组4个拿完,后16组每组都让对方先拿球,自己拿完剩下的。这样你就能拿到第16组的最后一个,即第100个乒乓球。
参考答案:
先拿4个,他拿n个,你拿6-n,依此类推,保证你能得到第100个乒乓球。
试题扩展:
1、假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿2个,但最多不能超过7个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球?(先拿1个,他拿n个,你拿9-n,依此类推)2、假设排列着X个乒乓球,由两个人轮流拿球装入口袋,能拿到第X个乒乓球的人为胜利者。条件是:每次拿球者至少要拿Y个,但最多不能超过Z个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第X个乒乓球?(先拿X/(Y+Z)的余数个,他拿n个,你拿(Y+Z)-n,依此类推。当然必须保证X/(Y+Z)的余数不等于0)
posted on 2006-09-19 11:39 Andy.J(孔吉) 阅读(1183) 评论(2)  编辑  收藏 所属分类: 智力题

评论

# re: 乒乓球问题 2007-10-07 19:14 孙伟
每次拿球者至少要拿2个 先拿1个
矛盾阿 !!!!!
  回复  更多评论
  

# re: 乒乓球问题 2008-04-21 13:52 benq998
100/10=10
做到每次都能拿到每10个中的第10个,就能拿到第100个,所以在第一组10个球中,先拿4个,剩6个,对方那1<=n<=5个后,我那6-n个,就能拿到第10个,在下一组10个球中也这样拿,所以就一定能拿到地100个球。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问