黑马程序员技术交流社区

标题: 台阶递归问题研究 [打印本页]

作者: wangjunjun    时间: 2014-7-27 17:06
标题: 台阶递归问题研究
//有50个台阶,一次可以走一步或者两步,
//问,走完50个台阶,有多少个走法

//分析:当只有1个台阶的时候只有1种走法,当有2个台阶的时候有2种走法(11,2),
//当有3个台阶的时候,既可以从第1个台阶上去走2步,也可以从第2个台阶上去走1步,
//当为n个台阶的时候,可以从n-2上去走2步,也可以从n-1上去走1步,

//可以思考一次可以走1,2,3步的问题,这只是一维空间
//也可以拓展到平面,或者3维空间 情况比较复杂

//1个台阶   1
//2个台阶   11 2
//3个台阶        111 12  21
//4个台阶        1111 22  112 211 121
//5       8
// 6       13
//7        21
//8        34
//9        55
//10       89

#include<stdio.h>
#include<stdlib.h>

int go(int n)
{
        if (n == 1)
        {
                return 1;
        }
        else if (n == 2)
        {
                return 2;
        }
        else
        {
                return go(n - 1) + go(n - 2);
        }

}

int  main()
{
        printf("%d", go(50));
        return 0;
}




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