A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 付茂炯 中级黑马   /  2012-3-4 15:02  /  2445 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一列数的规则如下: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);
    }
}

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

1 个回复

倒序浏览
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);
            }

        }
    }

评分

参与人数 1技术分 +1 收起 理由
官方工作人员 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马