zoukankan      html  css  js  c++  java
  • 兔子繁殖问题(斐波拉契)

    题目:如果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  只
    
  • 相关阅读:
    MHA自动切换流程
    手写源码之 简单实现on emit off
    手写源码 -- bind,call,aplly
    多维数组转化为一维数组
    electron+vue中使用nodeJs的fs模块以及上传文件
    制作海报
    vue中引入播放器(百度播放器和腾讯云播放器)
    webpack配置
    webpack
    css样式
  • 原文地址:https://www.cnblogs.com/hgnulb/p/8961755.html
Copyright © 2011-2022 走看看