做过的笔试题

版权声明:博主最近都在,有不懂疑惑的,可以一起交流,也希望能有高人指点一二,谢啦!本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40295575/article/details/83020363

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));
}

猜你喜欢

转载自blog.csdn.net/weixin_40295575/article/details/83020363
今日推荐