• 斐波那契数列问题


    看到一些递归题目,觉得很有意思,记录下来,以备查询。

    斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……

    在数学上,斐波纳契数列被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。

     1 package com.delon.fibonacci;
     2 
     3 public class Fibonacci {
     4 
     5     //用递归求第10个数,它等于前2数之和,如{1,1,2,3,5}
     6     //得到递归式为f(n)=f(n-1)+f(n-2),终止条件为f(0)=1, f(1)=1。求的数为f(9)。
     7     //1,1,2,3,5,8,13
     8     //F(0)=0
     9     //F(1)=1
    10     //F(2)=1
    11     //F(3)=F(2)+F(1)=1+1=2
    12     
    13     //递归实现方式
    14     public int fibonacciRecursion(int n){
    15         //if(n<=2)
    16         if (n==1||n==2){
    17             return 1;
    18         }else{
    19             return fibonacciRecursion(n-1)+fibonacciRecursion(n-2);
    20         }
    21     }
    22     
    23     //递推实现方式
    24     public int fibonacciNormal(int n){
    25         //if(n<=2)
    26         if(n==1||n==2){
    27             return 1;
    28         }
    29         int a1=1;
    30         int a2=1;
    31         int temp = 0;
    32         
    33         for(int i=1;i<n-1;i++){
    34             temp = a1+a2;
    35             a1=a2;
    36             a2=temp;
    37         }
    38         return temp;
    39     }
    40     
    41     
    42     public static void main(String[] args) {
    43         // TODO Auto-generated method stub
    44         Fibonacci f = new Fibonacci();
    45         System.out.print("normal:"+f.fibonacciNormal(7)+"
    ");
    46         System.out.print("recursion:"+f.fibonacciRecursion(7));
    47     }
    48 
    49 }
  • 相关阅读:
    关于FPGA设计16位乘法器的两…
    const&nbsp;int&nbsp;*pi与int&amp;nbs…
    HTML5基础学习
    html5基础!!
    正确分析结构使用正确的HTML标签。CSS样式写一起。
    开发经验以及方法
    布局设计
    position定位
    浏览器的兼容性
    float浮动的世界
  • 原文地址:https://www.cnblogs.com/dzblog/p/3878192.html
Copyright © 2020-2023  润新知