数值分析课程设计创新.docVIP

  • 7
  • 0
  • 约1.63万字
  • 约 32页
  • 2016-02-03 发布于湖北
  • 举报
数值分析课程设计创新.doc

实验1.1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫,很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只给猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子? 算法分析:求解这一问题可以用迭代递推算法。首先分析椰子数目的变化规律,设最初的椰子数为p 0,即第一个水手所处理之前的椰子数,用p 1、p 2、p 3、p4、p 5 再用x表示最后每个水手平分得到的椰子数,于是有 所以 利用逆向递推的方法,有 有了逆向递推关系式,求解这一问题似乎很简单,但由于椰子数为一正整数,用任意的x作为初值递推出的p0数据不一定是合适的。 这里用 for 循环语句结合 break 语句来寻找合适的 x 和 p0 ,对任意的 x 递推计算出 p0 ,当计算结果为正整数时,结果正确,否则选取另外的?x 再次重新递推计算,直到计算出的结果 p0 为正整数为止。 MATLAB编程代码: n=input(输出n的值:); for x=1:n p=5*x+1; for k=1:5

文档评论(0)

1亿VIP精品文档

相关文档