首页 新闻 搜索 专区 学院

求助 跪求:思路

0
悬赏园豆:40 [已解决问题] 解决于 2012-12-19 19:10

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
   
         public static  int i = 0;
        static void Main(string[] args)
        {

            //走楼梯程序   有几种方法        不知道他的思路    求大神:概述一下思路
           stair(4);
         
        }

        private static int  stair(int numder)
        {
          
           
          int result=0;
            if (numder == 1)
            {
                result = 1;
            }
            else if (numder == 2)
            {
                result = 2;
            }
            else
            {
                result = stair(numder - 1) + stair(numder - 2);
            }
            return  result;

        }
    }
   
}

C#
欢呼雀跃的主页 欢呼雀跃 | 初学一级 | 园豆:28
提问于:2012-12-18 18:39
< >
分享
最佳答案
0

应该是斐波那契的一个变形。。。。第三个数等于前两个数之和,一开始两个数规定为1和2

收获园豆:40
羽商宫 | 老鸟四级 |园豆:2493 | 2012-12-19 08:36
其他回答(2)
0

这是斐波那契数列的算法

不过有问题,没规定stair的参数必须>0

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-12-18 19:39
0

在网上搜一下递归。也就是这个递推公式:f(n)=f(n-1) + f(n-2).其中f(1)=1,f(2)=2。所以不管n取多大得数,根据前面的递推公式,总能最后得到X个f(1) Y个f(2) 相加。这么理解可能会误导你,但是不管怎样,理解了就行。

jone_e | 园豆:1410 (小虾三级) | 2012-12-18 21:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册