欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

做过的笔试题

程序员文章站 2024-02-02 16:43:04
...

18-10-11

【选择题】10个阶梯,一次走可以走1个、2个或者3个,问有几种方法上楼梯。

答案:	274
	如果是编程题,可以用递归做,不是的话,只能一步步推了。下面说编程的思路
得出:上到第n阶梯的可能=上到n-1的可能+上到n-2的可能+上到n-3的可能。
1阶梯的可能:1             			  1种
2阶梯的可能:11/2        			  2两种
3阶梯的可能:111/12/21/3        		  4种

由此得
#include<stdio.h> 
int dg(int x)
{
    if (x == 1){
        return 1;
    }
    else if (x == 2){
        return 2;
    }
    else if (x == 3){
        return 4;
    }
    else{
        return dg(x - 1) + dg(x-2)+dg(x-3);
    }
}

int main()
{
    printf("%d", dg(10));
}