母牛的故事

母牛的故事

[题目链接]https://www.dotcpp.com/oj/problem1004.html

题意

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛

思路

  1. 往后的年份中,计算上一年的母牛数和三年前的母牛数(今年是第四年,他们已经长大了)
  2. 通俗的讲,这一年的牛=原来的牛+这一年出生的牛
  3. u-3=小牛3年之后会生小牛,u-1=前一年会生的牛今年依然会生。

坑点

  1. 要考虑小牛什么时候生小牛,以及

算法一:[递归]

实现步骤
  1. 先定义一个函数,为下面做准备,if表判断(牛的是否小于4)四年之前只有一只老母牛在生产,/4年之后,小牛要生小牛。
  2. 主函数中循环输入,n不等于0时,输出函数
代码
#include
#include
#include
using namespace std;
int dfs(int u)//先定义一个函数,为下面做准备,if表判断(牛的年龄是否小于4)
{
	if(u<4)//四年之前只有一只老母牛在生产。 
	{
		return u;//就输出u
	}
	else//4年之后,小牛要生, 
	{
		return dfs(u-1)+dfs(u-3);
	}
}
int main()//主函数 
{
	int n;
	while(cin>>n&&n!=0)//循环输入,n不等于0时,输出函数
	{
		cout<

总结

这是一道递归题,要先定义一个函数,再在主函数中应用这个函数。

你可能感兴趣的:(c++)