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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

c#

© 568839480 中级黑马   /  2013-12-27 10:46  /  1224 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 568839480 于 2013-12-27 10:59 编辑

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


评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

2 个回复

倒序浏览
class Program     {         static void Main(string[] args)         {             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

查看全部评分

回复 使用道具 举报
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 递归算法
{
      calss Program
      {
            static void Main(string[] args)
            {
                     //一列数的规则如下:1、1、2、3、5、8、13、21、34……求第30位数是多少?
                    Console.WriteLine("请输入一个数字,例如30");
                    string s= Console.ReadLine();
                    while(s== "30")
                    {
                          int number = Convert.ToInt32(s);
                          Console.WriteLine("{0}",S(30));
                    }
            }
            public static int S(int i)         
            {            
                   if (i <= 0)           
                            return 0;            
                  else if (i > 0 && i <= 2)                 
                            return 1;            
                  else return S(i - 1) + S(i - 2);         
             }     
       }
}

评分

参与人数 1技术分 +2 收起 理由
陈福军 + 2

查看全部评分

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