急!!!!!!!!C++编写递归函数

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:22:25
有一只猴子第1天摘下许多个桃子,马上吃了一半,觉得不过瘾,又多吃了1个;

第2天早上又将剩下的桃子吃掉一半,又多吃了1个。

此后,每天早上都吃了昨天剩下的一半零1个。

到第10天想再吃时,见只剩下1个桃子了。

问题:它第1天共摘了多少桃子?

#include <iostream.h>

int eatPatch(int n)
{
if(n==1)
{
return 1;
}else
{
n--;
return (eatPatch(n)+1)*2;
}
}

int main(int argc, char* argv[])
{
cout<<eatPatch(10)<<endl;
return 0;
}

运行结果:1534

int fun(int n)
{
if(n==1) return 1;
return (2*fun(n-1)+1);
}
main()
{
printf("%d\n",fun(10));
}

//---------------------------------------------------------------------------
#include <iostream>

long int bk(int n,int d)
{
if (n>1) return bk(n-1,2*d+2);
return d;
}
int main(void)
{
long int dn=bk(10,1); //第10天还有1个
std::cout<<dn<<std::endl;
return 0;
}
//---------------------------------------------------------------------------

这个问题别人问过了,你直接baidu"猴子吃桃子 递归"就知道了。

猴子吃桃 ,经典的问