Java 递归算法 斐波那契数列

来源:互联网 发布:知乎 库里 小学生 编辑:程序博客网 时间:2024/06/02 20:07

一、程序调用自身的编程技巧称为递归( recursion)。
二、递归实例

  1. 阶乘:
    要求:给定一个数值,计算出它的阶乘值,例如5的阶乘为5*4*3*2*1
public class RecursionTest {    public static void main(String[] args) {        System.out.println(Method(5));    }    public static int Method(int n) {        if (n == 1) {            return 1;        } else {            return n * Method(n - 1);        }    }}

开始递回 2*1
开始递回 3*(2*1)
开始递回 4*(3*(2*1))
开始递回 5*(4*(3*(2*1)) ) = 120
程序输出120;

  1. Fibonacci(斐波那契)数列
    要求:1 1 2 3 5 8 13….
public class FibonacciTest {    public static void main(String[] args) {        System.out.println("20个数的斐波那契数列为:");         for(int i=1;i<20;i++){             System.out.print(Foo(i)+" ");         }    }    public static int Foo(int i){        if (i==0 || i==1){            return i;        }else{            return Foo(i - 1)+Foo(i - 2);        }    }}
0 0
原创粉丝点击