假设每只母牛从出生后,次年后的每年年初会生下2只母牛,并且随着年份的增加每年成倍死亡,
即第一年死1*2只母牛,第二年死2*2只母牛,第三年死3*2只母牛。。。。
问题:假设第一年年初时是10头母牛,第二年年初有28头母牛,问:第100年年初后,有多少只母牛?
#include<iostream>
using namespace std;
//调用函数 递归算法
int Recur(int n) {
int result=10;
if(n>1){
//递归的体现
result=2*Recur(n-1)+Recur(n-1)-((n-1)*2);
/*
新出生的:2*Recur(n-1)
原有的: Recur(n-1)
每年死亡的:(n-1)*2
*/
}
return result;
}
int main(){
int N;
cin>>N;
cout<<Recur(N);
return 0;
}
注意:本代码实现20以及以内的年份,超出20则无法输出!
不吝赐教,交流指导年份超出20的输出方法?