java中用递归方法求第n个Fibonacci数

来源:互联网 发布:linux chown 子目录 编辑:程序博客网 时间:2024/05/01 22:21

用递归方法求第n个Fibonacci数。

源程序:

import java.io.*;

class Fibonacci

{

  public long Fibonacci(int n)               //用来计算n个Fibonacci的方法

  {

    if(n==1)

      return 1;

    else if(n==2)

      return 1;

    else

      return Fibonacci(n-1)+Fibonacci(n-2);

  }

 public static void main(String[] args)throws IOException

 {

    int n;

    System.out.println("请输入整数n,以便求得Fibonacci(n):");

    Fibo k=new Fibo();

    byte[] b = new byte[6];              //6个字节的数组用于存放字符串,b为局部变量

    System.in.read(b);                  //从键盘读入一个数字串保存于b中

    String str = new String(b).trim();      //b转换成String对象str并压缩

    n = Integer.parseInt(str);             //数字串转换成整数n

    System.out.println("求得Fibonacci("+n+")为:");

    System.out.println(k.Fibonacci(n));

  }

}

运行结果:(输入正整数)

请输入整数n,以便求得Fibonacci(n):

10

求得Fibonacci(10)为:

55