黑马程序员技术交流社区

标题: 用递归方法求数字! [打印本页]

作者: 付茂炯    时间: 2012-3-4 15:02
标题: 用递归方法求数字!
一列数的规则如下:1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归方法实现。
解决方法:
public class MainClass
{
        public static void Main()
        {
        Console.WriteLine(Foo(30));
        }
    public static int Foo(int i)
    {
        if (i <= 0)
            return 0;
        else if (i > 0 && i <= 2)
            return 1;
        else return Foo(i - 1) - Foo(i - 2);
    }
}
作者: 黑马王刚    时间: 2012-3-5 15:02
class Program
    {
        static void Main(string[] args)
        {
            
            Console.WriteLine(Fun(30));
            Console.ReadKey();
        }
        /// <summary>
        /// 一列数的规则如下:1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归方法实现。
        /// </summary>
        /// <returns></returns>
        static int Fun(int i)
        {
            if (i==1||i==2)
            {
                return 1;
            }
            else
            {
                return Fun(i - 1) + Fun(i-2);
            }

        }
    }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2