一列数的规则如下:1、1、2、3、5、8、13、21、34………………求第30位数是多少?(C#用递归算法实现)

解决方案 »

  1.   


    public int Foo(int i)
    {
        if(i<3)
           return 1;
        else
           return Foo(i-1)+Foo(i-2);
    }
      

  2.   

     protected void Page_Load(object sender, EventArgs e)
            {
                for (int i = 1; i <= 30; i++)
                {
                    Response.Write(Foo(i).ToString()+"<br/>");
                }
            }        public int Foo(int i)
            {
                if (i < 3)
                {
                    return 1;
                }
                else
                {
                    return Foo(i - 1) + Foo(i - 2);
                }
            }
      

  3.   

    protected void Page_Load(object sender, EventArgs e)
            {
                for (int i = 1; i <= 30; i++)
                {
                    Response.Write(Foo(i).ToString()+"<br/>");
                }
            }        public int Foo(int i)
            {
                if (i < 3)
                {
                    return 1;
                }
                else
                {
                    return Foo(i - 1) + Foo(i - 2);
                }
            }
    OK!!!!!!!!!!!!!!!!!!!!!!
      

  4.   

    using System;
    using System.Data;
    using System.IO;namespace  mySpace
    {
        class test
        {
            static void Main()
            {
                test t = new test();
                Console.WriteLine("請輸入一個整數");
                int m = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("第{0}個數為:{1}" ,m, t.Foo(m));
                Console.ReadKey();
            }
            public int Foo(int val)
            {
                if (val < 1)
                {
                    Console.WriteLine("您的輸入小於零,請重新輸入,此值需大於0,謝謝合作");
                    return 0;
                }
                else if (val < 3)
                {
                    return 1;
                }
                else
                {
                    return Foo(val - 1) + Foo(val - 2);
                }
            }
        }
    }
      

  5.   

    pubilc int Foo(n)
    {
      if(n<0) return 0;
      if(n>0&&n<3) 
    {
       return 1;
    }
    else
    {
     return Foo(n-2)+Foo(n-1);
    }
    }