【蓝桥杯】[递归]母牛的故事

简介: 蓝桥杯——[递归]母牛的故事

1. 题目描述

image.png

2. 思路分析

我们列一个年份和母牛数量的表格:
image.png
通过观察,找规律,我们发现:

当年份小于等于4时,母牛数量和年份相等。

当年份大于4时,母牛数量等于这一年的前一年的母牛数量和这一年的第前三年的母牛数量之和。

f(n) = f(n - 1) + f(n - 3)

我们可以发现这个式子和斐波那契数列f(n)=f(n-1)+f(n-2)很像。

其次我们要注意这道题要多组输入,同时还要满足n==0时停止输入。我们就使用while(cin>>n&&n)满足这些要求。

3. 代码实现

#include<iostream>
using namespace std;

int f(int n)
{
   
    if (n<=4) return n;
    return f(n - 1) + f(n - 3);
}
int main()
{
   
    int n;
    while (cin >> n && n)
    {
   
        cout << f(n) << endl;
    }
    return 0;
}

image.png

相关文章
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-449 递归输出数字三角形
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-449 递归输出数字三角形
76 0
|
存储 算法
蓝桥杯:递归 与 例题:斐波那契数列及优化与应用
蓝桥杯:递归 与 例题:斐波那契数列及优化与应用
80 0
|
5月前
|
Java
蓝桥杯Java组暴力递归搜图
蓝桥杯Java组暴力递归搜图
33 4
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-446 递归输出数字
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-446 递归输出数字
58 1
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-150 6-1 递归求二项式系数值
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-150 6-1 递归求二项式系数值
64 1
|
算法
[蓝桥杯] 递归与递推习题训练
蓝桥杯比赛只有四十天左右啦,最近会按照模块更新一些有关蓝桥杯算法题。学习算法不仅仅是为了参见比赛,更是以后找工作的一个敲门砖。废话不多说,我们直接看题。
80 0
《蓝桥杯每日一题》递归·AcWing 1497. 树的遍历
《蓝桥杯每日一题》递归·AcWing 1497. 树的遍历
60 0
蓝桥杯AcWing 题目题解 - 递归与递推
蓝桥杯AcWing 题目题解 - 递归与递推
(蓝桥杯)递推与递归,前缀和,二分经典例题分析
(蓝桥杯)递推与递归,前缀和,二分经典例题分析
(蓝桥杯)递推与递归,前缀和,二分经典例题分析
|
机器学习/深度学习 算法 C++
(C/C++)STL函数(3)二分算法题以及二分模板 和(蓝桥杯)递推与递归题目及解法(ACwing)
(C/C++)STL函数(3)二分算法题以及二分模板 和(蓝桥杯)递推与递归题目及解法(ACwing)
(C/C++)STL函数(3)二分算法题以及二分模板 和(蓝桥杯)递推与递归题目及解法(ACwing)