hdoj 2018

这篇博客介绍了如何利用递归算法解决HDOJ2018中的母牛数量问题。每年年初成熟的母牛会新增一头小牛,小牛在第四年变为成熟母牛。通过递推公式F(N)=F(N-1)+F(N-3)进行计算,给出了AC代码实现,能够计算任意年份的母牛总数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HDOJ 2018 母牛的故事

该题大意如下,成熟的母牛每年年初会生下一头年轻的,而年轻的在第四个年头会变成成熟的。
我们不妨设F(N)表示第n年母牛的数量。(过了年初)
这些牛中有 n-1 年的总牛数 + 新生的牛叔;
而新生的牛的数量等于第n年成熟的牛的数量
由于牛 第四年成熟;
故第n年成熟的牛的数量 等于 第n-3年成熟的牛的数量+ 第n-3年初所生的新生牛的数量(既等于F(n-3))
故得到递推式
F(N) = F(N-1)+F(N-3);
AC代码如下`

#include <iostream>
using namespace std;
int cowcount(int n){
	if(n<5){
		return n;
	}
	else{
		return cowcount(n-1)+cowcount(n-3);
	}
}
int main()	
{
	int n;
	while(cin>>n){
		if(n == 0){
			return 0;
		}
		cout<<cowcount(n)<<endl;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值