递归2018年11月24日
以下内容仅供娱乐,欢迎随时探讨,请多指教!
1、用递归函数求斐波那契数列的第n项
斐波那契数列从第三个数起,后一个数等于前面两个数之和,
例如:1、1、2、3、5、8、13、21、34
#include <stdio.h>
int fun(int n)
{
if(1 == n || 2 == n)return 1;
else return fun(n-1)+fun(n-2);
}
int main()
{
int n;
printf("please input n\n");
scanf("%d",&n);
printf("\t%d\n",fun(n));
return 0;
}
2、猴子吃桃问题
有一群猴子,去摘了一堆桃子,商量之后决定每天吃剩余桃子的一半。
当每天大家吃完桃子之后,有个贪心的小猴都会偷偷再吃一个桃子,
按照这样的方式猴子们每天都快乐的吃着桃子,直到第十天,
当大家再想吃桃子时,发现只剩下一个桃子了,
问:猴子们一共摘了多少桃子
#include <stdio.h>
int fun(int n)
{
if(1 == n)return 1;
else return (fun(n-1)+1)*2;
}
int main()
{
int n;
printf("please input days\n");
scanf("%d",&n);
printf("\t%d\n",fun(n));
return 0;
}