请教:猴子吃桃的递归计算

zhangyuan850 2016-11-18 02:47:11
猴子吃桃,第一天先吃全部的一半,然后又吃了一个,如此,到了第十天就有一个桃了。
第n t天拥有的桃子数量,第一个公式 f(n) = f(n-1)/2 -1,

也可以写成第二个公式:f(n-1) = 2 * f(n)+2
或者写成第三个公式:f(n) = 2*f(n+1)+2,
第四个公式:f(n) = 2*f(n-1)+2
用第三个公式可以计算出来,第四个公式也行(第三与第四个公式n初值不一样,一个为1,一个为10)然后用第一个公式却不成功呢? 朋友们请问,为什么除法的不行,而乘法的可以呢?
#include<iostream>
using namespace std;
double fun(int n);
int main()
{
int a=10;
cout<<"fun(a)="<<fun(a)<<endl;

return 0;
}
double fun(int n)
{
if (n==1)
return 1;
else
return 2*fun(n-1) +2;
}
...全文
660 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyuan850 2016-11-20
  • 打赏
  • 举报
回复
哪个朋友给解释一下啊。

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧