猴子吃枣
问提描述:
小猴第一天摘下若干枣子,当即吃掉了一半,不过瘾又多吃了一个;第二天吃了剩下的一半又多吃了一个;以后每一天都吃了前一天剩下的一半多一个。到第十天小猴再想吃时,见到只剩下一只枣子了。试设计一个递归算法计算第一天这堆枣子有多少?
算法设计:
根据问题描述,用递归法计算第一天这堆枣子的个数。
数据输入:
无。
结果输出:
在屏幕上输出第一天这堆枣子的个数。
#include<iostream>
using namespace std;
int monkey(int n)
{
if (n == 1)
return 4;
else
return (monkey(n - 1) + 1) * 2;
}
int main()
{
int n;
cin >> n;
cout<<monkey(n);
getchar(); getchar();
}