【C++】猴子吃桃(题目描述与其他版本不一致)
学堂在线上的选做题,提交未通过,但是自己试了几个例子都没问题,百度了一下发现其他版本的猴子偷桃问题题目描述和这个不一样,差别主要是吃完前一天剩下一半后是多吃了一个还是N个,放上来讨论一下吧。
题目描述
一只猴子在第一天获得了若干的桃子,他在第n天吃了第n-1天剩下的桃子数的一半加n个桃子;最后第n天吃之前,剩余了1个桃子。求第一天猴子获得的桃子数。
代码实现
#include <iostream>
using namespace std;
int sheng(int b,int c);
int main() {
int n;
int x;
cin >> n;
x = sheng(1,n);
cout << x << endl;
return 0;
}
int sheng(int b,int c) {
if (b < c) {
return 2*(b+sheng(b+1,c));
}
else {
return 1;
}
}