问题描述:
一个渔民他在自家的鱼塘里养了 n 条鱼,且每条鱼每年繁殖出 3 条小鱼,繁殖两年后失去繁
殖能力,小鱼每年也会繁殖,同样也是繁殖出 3 条小鱼,也同样繁殖两年后失去繁殖能力。渔
夫每年都会从中捞取 23 条小鱼放入其他鱼塘,现在输入渔夫投放的鱼苗数m,以及投放年数
n,求最后该池塘中鱼的总数(假设鱼不会死,也不会互相伤害)?
数据规模: 8<=m<=50000000 2<=n<=200
样例01输入: 3 8
样例01输出: 29
样例02输入: 7 56
样例02输出: 791901
源代码:
#include <stdio.h>
long long int f(int n,int m);
int main() {
int n,m;
scanf("%d%d",&n,&m);// 输入年限,投放的鱼苗数
printf("%lld\n",f(n,m));
return 0;
}
// 功能:开始有 m 条小鱼,求 n 年后有多少条?
long long int f(int n,int m){
int i;
long long int t = m,s = m,t1 = 0;
for(i=0;i<n;i++){
t = t + t1;
t1 = t;
t = 3*t - 23;
s += t;
}
return s;
}