版权声明:博主最近都在,有不懂疑惑的,可以一起交流,也希望能有高人指点一二,谢啦!本文为博主原创文章,未经博主允许不得转载。 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));
}