0
0
已采纳
#include<iostream>
using namespace std;
int f(int n,int x,int y)
{
if(n==0)
return y;
y=x/2+1;
return f(n-1,x-y,y);
}
int main()
{
cout<<4094<<endl;
int n;
cin>>n;
if(n>=12)
cout<<4094;
else
cout<<f(n,4094,0);
return 0;
}
错误我就不细举了,不过那4094倒是对的
思路:
1、函数不能只有一个参,要来三个
2、第一个参存天数,第二个参存拥有的鸭子数,第三个参存卖出的鸭子数
3、函数体第一步:边界:当天数消耗完(为0)时,返回卖出的鸭子数
4、函数体第二步:把本层递归中卖出的鸭子数赋值为(拥有的鸭子数/2+1)
5、函数体第三步:返回:(本层天数-1,本测过拥有鸭子数-新赋值的卖出的鸭子数,新赋值的卖出的鸭子数)
6、主函数:先判断,若n≥12,则直接输出4094
7、当n<12时,再输出函数(n,4094,0)
刘英杰在2021-03-19 21:33:33追加了内容
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
不要看我代码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111
