1,1,2,3,5,8,13,21
第30数字多少?用递归

解决方案 »

  1.   


            public static Int32 GetNum(Int32 n)
            {
                if (n == 1 || n == 2)
                    return 1;
                else
                    return GetNum(n - 2) + GetNum(n - 1);
            }
      

  2.   

    斐波那契static int Fibonacci(int index)
    {
        return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);
    }
      

  3.   

    lambda ...static void Main(string[] args)
    {
        Func<int, int> Fibonacci = null;
        Fibonacci = i => i <= 2 ? 1 : Fibonacci(i - 1) + Fibonacci(i - 2);
        Console.WriteLine(Fibonacci(6));
        Console.ReadKey();
    }
      

  4.   

    30...static void Main(string[] args)
    {
        Func<int, int> Fibonacci = null;
        Fibonacci = i => i <= 2 ? 1 : Fibonacci(i - 1) + Fibonacci(i - 2);
        Console.WriteLine(Fibonacci(30));
        Console.ReadKey();
    }
      

  5.   


    非常好  受教啦斐波那契static int Fibonacci(int index)
    {
      return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);
    }
    这个更简单 呵呵
      

  6.   

    斐波那契数列,采用递归
    public static Int32 Fibonac(Int32 n)
    {
      if (n <=2)
        return 1;
      else
        return Fibonac(n - 1)+Fibonac(n - 2);
    }
    结果是:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040
    第30数字是832040
     
      

  7.   

    http://linux.chinaunix.net/bbs/forum-70-1.html
    高手和新手都可以在这里讨论。
      

  8.   

    来个使用lambda表达式的:using System;namespace Test
    {
        public class Program
        {
            public static void Main()
            {
                Func<Int32, Int64> fib = null;
                fib = (x => x <= 2 ? 1 : fib(x - 1) + fib(x - 2));
                Console.WriteLine("第30个数字是:{0}", fib(30));
            }
        }
    }
    //第30个数字是:832040
    需要vs2008或以上的版本支持
      

  9.   

    反向命题的答案也不是我说的,应该算是早有定论的,用树或图同样可以模拟递归,我想就不用讨论了。至于永不“爆栈”的问题,其实是个伪命题,用DFS的话,经常会碰到栈溢出的问题,因此用递归的前提就是,要考虑好递归的深度。