有一个果农,每天和儿子们辛勤耕作,不辞辛劳,终于迎来了大丰收。为了奖励他的6个儿子,果农就把收成得到的2520只橘子分配给这6个儿子。
果农先在纸上比划比划,计算好以后,按照纸上的数字分配橘子。等他分完以后,他告诉大家:“老大把你手中的1/8的橘子给老二;待老二拿到后,连同原先的1/7的橘子给老三;待老三拿到后,连同原先的1/6的橘子给老四;待老四拿到后,连同原先的1/5的橘子给老五;待老五拿到后,连同原先的1/4的橘子给老六;等老六拿到后,连同原先的橘子分1/3给老大。”
于是六兄弟就按照父亲的安排做了。结果,六个儿子手中的橘子个数居然是一样的。
请问:这六个兄弟原来分配到的橘子各是多少?
参考答案
这六个兄弟原来分配到的橘子各是:老大拿到的橘子数量是240只,老二拿到的橘子数量是460只,老三拿到的橘子数量是434只,老四拿到的橘子数量是441只,老五拿到的橘子数量是455只,老六拿到的橘子数量是490只。
109
思维小故事
电影院排队
有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)!]。