c++打卡第四天

发布时间 2023-04-20 18:12:04作者: 七安。

一、问题描述。

有一对兔子,第三个月开始每月生一对兔子,刚出生的兔子经过三个月又可以生一对兔子,问从1月开始到n月,每月兔子的数量。

二、设计思路。

①、第一二个月都是一对兔子,第三个月是2对,3个月是三对,第四个月就是5对。

②、由此可知,这个月兔子对数的总量等于前一个月和前两个月兔子对数的总和。

③、我们可以递归函数实现计算第n个月兔子的总和,即f(n)=f(n-1)+f(n-2);

三、流程图。

四、代码实现

#include<iostream>
using namespace std;
int f(int x)
{
    if(x==1||x==2)
    {
        return 1;
    }
    else 
    return f(x-1)+f(x-2);
}
int main()
{
    int n;
    cin>>n;
    int i=1;
    for(i=1;i<=n;i++)
    {
        cout<<i<<"  月兔子总数为:"<<f(i)<<endl;
    }
    return 0;
 } 

五、输出结果