大公司面试题之猴子分桃问题

作者:云梦泽

日期:2013.11.15

地点:湖南大学软件大楼211

题目:

五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;.....其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?

思想:

递归思想:可设为序列a1(总计),a2(1号猴分桃后),a3(2号猴分桃后),a4(3号猴分桃后),a5(4号猴分桃后),a6(5号猴分桃后),其中被5号猴分桃后假设恰好分完或者剩下最小的整数为所求

递归算法为:f(n)=f(n-1)-( f(n-1) -1  )/5   哇,当年高考常考的简单数列题额~~~记得最拿手的,求通项公式

求解:

求特征函数:哇,大三学得信号系统耶,还记得么

x=x-(x-1)/5          

解得 x=1          

得通项公式 {an-1}={a1-1}q^(n-1)={a1-1}(4/5)^(n-1)

于是 {a6-1}={a1-1}*(4/5)^5         

 a6=1+{a1-1}*(4/5)^5   

——>(a1-1)消去5的5次方这个分母即可,a1-1=3120,于是得a1=3121

思路和算法有了写代码都是很好写的啦,自己动手吧丰衣足食。

你可能感兴趣的:(大公司面试题之猴子分桃问题)