兔子繁殖问题(斐波拉契)


题目:如果1对兔子每月能生1对小兔子,而每对小兔在它出生后的第3个月就可以生1对小兔子,如果从1对初生的小兔子开始,1年后能繁殖多少兔子?

思路:其实这个问题我们可以将兔子划分为"1月大的兔子","2月大的兔子","3月大的兔子"。 ① 初始时: 一对1月大小兔子,总数为1对。 ② 第一个月: 1月大的小兔子变成2月大的兔子,总数还是1对。 ③ 第二个月: 2月大的小兔子变成3月大的兔子,繁殖了一对小兔子,总数为2对。 ④ 第三个月: 3月大的兔子tmd有生了一对小兔子,上个月1月大的小兔子变成了2月大的兔子,总数为3对。 ...... ...... F0=1 F1=1 F2=F0+F1 F3=F1+F2 ...... Fn=Fn-2+Fn-1

C++ 实现

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    int month[12];
    month[0] = 1;
    month[1] = 1;
    for(int i=2;i<12;i++){
        month[i] = month[i-1] + month[i-2];
    }
    for(int i=0;i<12;i++){
        cout<<"在第"<<i<<"个月兔子有"<<setw(4)<<month[i]<<setw(4)<<"只"<<endl;
    }
    return 0;
}

运行结果

在第0个月兔子有    1  只
在第1个月兔子有    1  只
在第2个月兔子有    2  只
在第3个月兔子有    3  只
在第4个月兔子有    5  只
在第5个月兔子有    8  只
在第6个月兔子有   13  只
在第7个月兔子有   21  只
在第8个月兔子有   34  只
在第9个月兔子有   55  只
在第10个月兔子有  89  只
在第11个月兔子有 144  只


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM