google 斐波拉切数列 递归

解决方案 »

  1.   


            static int Fibonacci(int n)
            {
                if (n <= 1)
                {
                    return n;
                }
                else
                {
                    return Fibonacci(n - 1) + Fibonacci(n - 2);
                }
            }Fibonacci(30)
      

  2.   

            static long Fibonacci(int n)
            {
                return (long)((Math.Pow((1 + Math.Sqrt(5)) / 2, n) - Math.Pow((1 - Math.Sqrt(5)) / 2, n)) / Math.Sqrt(5));
            }
    这个应该是最高效率的做法了,类型转换不放心的话可以用Convert.ToXXX。
      

  3.   

    static void Main(string[] args)
    {
    Console.WriteLine("请输入数列长度");//提示用户输入数列长度
    int n = int.Parse(Console.ReadLine());//输入数列长度
    Console.WriteLine(fibonacci(n));//调用下面写好的方法
    }static int fibonacci(int n)//求递归的方法
    {
    if(n<=1)
    return n;//当n=0或者1时,值为1
    else
    return fibonacci(n-1)+fibonacci(n-2);//调用该方法本身,实现递归调用
    }
      

  4.   

    public class T{
          public static void main(String[]args){
             int a=1;
             int b=1;
             for(int i=0;i<10;i++){
             int c=a;
                  a=b;
                  b=a+c;
                   System.out.println(c);
          }