小学论坛

 找回密码
 立即注册
查看: 112|回复: 0

数学逻辑推理题8(买电影票)

[复制链接]

28万

主题

28万

帖子

84万

积分

论坛元老

Rank: 8Rank: 8

积分
848531
发表于 2016-8-13 13:49:32 | 显示全部楼层 |阅读模式

          
          

  •        

      12
                                      有2n个人排队进电影院,票价是50美分。在这2n个人当中,其中n个人只有50美分,另外n个人有1美元(纸票子)。愚蠢的电影院开始卖票时1分钱也没有。问:有多少种排队方法使得每当一个拥有1美元买票时,电影院都有50美分找钱
      注:1美元=100美分拥有1美元的人,拥有的是纸币,没法破成2个50美分
      【解答】本题可用递归算法,但时间复杂度为2的n次方,也可以用动态规划法,时间复杂度为n的平方,实现起来相对要简单得多,但最方便的就是直接运用公式:排队的种数=(2n)!/[n!(n+1)!]。
      如果不考虑电影院能否找钱,那么一共有(2n)!/[n!n!]种排队方法(即从2n个人中取出n个人的组合数),对于每一种排队方法,如果他会导致电影院无法找钱,则称为不合格的,这种的排队方法有(2n)!/[(n-1)!(n+1)!](从2n个人中取出n-1个人的组合数)种,所以合格的排队种数就是(2n)!/[n!n!]-(2n)!/[(n-1)!(n+1)!]=(2n)!/[n!(n+1)!]。至于为什么不合格数是(2n)!/[(n-1)!(n+1)!],

  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|新都网

    GMT+8, 2025-9-4 03:34 , Processed in 0.060284 second(s), 14 queries , WinCache On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表