这是一个关于C语言的简单程序问题 5C

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天摘了多少个桃子。
哪位大佬能用递归方法帮我写这个程序,万分感谢!

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 这个程序就是实质不需要递归的,所以你可以写出循环改尾递归即可。
7 个月之前 回复

3个回答

#include
using namespace std;
int fun(int n);//表示第n天吃之前原来有的数量
int main()
{
cout<<fun(1);
return 0;
}
int fun(int n)//表示第n天吃之前原来有的数量
{
if(n==10)
{
return 1;
}
else
{
return (fun(n+1)+1)*2;
}
}


https://blog.csdn.net/xianfajushi/article/details/27975567
忘记看最后要地跪的,立即补上了递归的了.

int 桃子(1), 天(10);
do
{
桃子 += 1;
桃子 *= 2;
} while (--天 > 1);
std::cout << 桃子 << endl;
int 递归猴子吃桃(int 天数, int 数量)
{
if (--天数 < 1)return 数量;
++数量;
数量 *= 2;
递归猴子吃桃(天数, 数量);
}
你看看是否正确

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐