题目描述
一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;接下来的每一天它都会吃剩余的桃子的一半外加一个。第 n 天早上起来一看,只剩下 1 个桃子了。请问小猴买了几个桃子?
输入格式
输入一个正整数 n,表示天数。
输出格式
输出小猴买了多少个桃子。
#include<bits/stdc++.h>
using namespace std;
int s=0; //s记录桃子总数
int tz(int n){ //求桃子总数s
if(n!=1){ //从第n-1天开始(因为第n天没吃),第n-1天的桃子加1乘2就是第n-1天的桃子
n=n-1;
s=(tz(n)+1)*2;
}
else //n为第一天的时候开始往回递归
s=1;
return s;
}
int main(){
int n,t=1,sum=1,result;
cin>>n; //输入第几天
result=tz(n); //存原本有多少个桃子
cout<<result;
}