实验7 递归算法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验七:1、阶乘的递归实现2、Fibonacci数列的递归实现3、猴子吃桃问题一只猴子吃一棵桃树上的桃子,按每天吃树上1/2的桃子,再多一个,到第10天,树上只有一个桃子,问:树上原有多少个桃子?(要求:用递归方法实现)1、方法1:递归实现#includestdio.hintfact(intn){if(n==0)return1;returnn*fact(n-1);}voidmain(){intm;printf(请输入阶乘数:);scanf(%d,&m);printf(%d!阶乘的值为:%d,m,fact(m));getch();}方法2:循环实现#includestdio.hvoidmain(){inti,n,x=1;printf(请输入阶乘数:);scanf(%d,&n);if(n==0)x=1;elsefor(i=n;i=1;i--){x=x*i;}printf(%d,x);getch();}2、#includestdio.hintfact(intn){if(n=2)return1;returnfact(n-1)+fact(n-2);}voidmain(){intn,i;printf(请输入斐波那契的项数:);scanf(%d,&n);printf(前%d项的数为:,n);for(i=1;i=n;i++){printf(%d,fact(i));}getch();}3、方法一:由第一天到第十天计算#includestdio.hintfact(intn){if(n==10)return1;return((fact(n+1)+1)*2);}voidmain(){intday;printf(***********猴子吃桃问题***********\n);printf(请输入天数:);scanf(%d,&day);printf(在第%d天的桃子个数为:%d,day,fact(day));getch();}方法二:由第十天到第一天计算#includestdio.hvoidmain(){intday,i,x=1;printf(***********猴子吃桃问题***********\n);printf(请输入天数:);scanf(%d,&day);for(i=day;i10;i++){x=(x+1)*2;}printf(在第%d天的桃子个数为:%d,day,x);getch();}

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功