zoukankan      html  css  js  c++  java
  • 算法练习2斐波那契数列java版

    古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少?

    数列:1   1   2   3   5   8   13......

    可以总结出公示为F(n)=F(n-1)+F(n-2)

    java程序代码实现如下:

    public class ArithTest {
        public static void main(String[] args) {
            ArithTest at = new ArithTest();
            // 算法一:显示前20个月每月兔子数量
            for(int n=1;n<=20;n++){
                System.out.println("第"+n+"个月兔子数量为"+at.f(n));
            }
        /* 算法一:斐波那契数列
         * 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少?
         * 规律:1 1 2 3 5 8 13 ...
         * f(n)=f(n-1)+f(n-2)
         */
        public int f(int n){
            if(n==1|n==2){
                return 1;
            }else{
                return f(n-1)+f(n-2);
            }
        }
    }

    执行结果为:

    第1个月兔子数量为1
    第2个月兔子数量为1
    第3个月兔子数量为2
    第4个月兔子数量为3
    第5个月兔子数量为5
    第6个月兔子数量为8
    第7个月兔子数量为13
    第8个月兔子数量为21
    第9个月兔子数量为34
    第10个月兔子数量为55
    第11个月兔子数量为89
    第12个月兔子数量为144
    第13个月兔子数量为233
    第14个月兔子数量为377
    第15个月兔子数量为610
    第16个月兔子数量为987
    第17个月兔子数量为1597
    第18个月兔子数量为2584
    第19个月兔子数量为4181
    第20个月兔子数量为6765
  • 相关阅读:
    UVA 11806 组合数学+容斥
    Educational Codeforces Round 37 (Rated for Div. 2) G
    java 5 线程池
    团队-象棋游戏-项目进度
    结对-五子棋-测试过程
    结对-五子棋游戏-开发过程
    课后作业-阅读任务-阅读提问-2
    20171006-构建之法:现代软件工程-阅读笔记
    结队-五子棋游戏-项目进度
    团队-象棋游戏-代码设计规范
  • 原文地址:https://www.cnblogs.com/paopaoquan/p/6323208.html
Copyright © 2011-2022 走看看