C语言 楼上走到楼下共有h个台阶,每一步有3种走法:走1个台阶;走2个台阶;走3个台阶.问可走多少种方案?样例输入:10
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 19:28:03
C语言
楼上走到楼下共有h个台阶,每一步有3种走法:走1个台阶;走2个台阶;走3个台阶.问可走多少种方案?
样例输入:10
样例输出:230
我写的是:
if(n==1)
return 1;
else if(n==2)
return 2;
else if(n==3)
return 4;
else
return f(n-1)+f(n-2)+f(n-3);
但是我用了递归,感觉都没有错,输出是274
到底是怎么回事?
楼上走到楼下共有h个台阶,每一步有3种走法:走1个台阶;走2个台阶;走3个台阶.问可走多少种方案?
样例输入:10
样例输出:230
我写的是:
if(n==1)
return 1;
else if(n==2)
return 2;
else if(n==3)
return 4;
else
return f(n-1)+f(n-2)+f(n-3);
但是我用了递归,感觉都没有错,输出是274
到底是怎么回事?
输入10可以输出吗,我的堆栈报错,直接溢出了.
还有第三个判断条件,那个三步的时候,你能有四种走法,答案应该是230吧,改过来吧.
不知道楼上的怎么会认为没错,不过得谢谢楼主哇,以前都是用非递归写的,这次受教了!
再问: 三步的时候不是 一个一次三步的 先两步后一步 先一步后两部 还有走三次一次一步 我的没有报错 不知道怎么回事……
再答: 中间两个算一样的。。。。样例输出不是230吗,题目所表达的就是这个意思!
还有第三个判断条件,那个三步的时候,你能有四种走法,答案应该是230吧,改过来吧.
不知道楼上的怎么会认为没错,不过得谢谢楼主哇,以前都是用非递归写的,这次受教了!
再问: 三步的时候不是 一个一次三步的 先两步后一步 先一步后两部 还有走三次一次一步 我的没有报错 不知道怎么回事……
再答: 中间两个算一样的。。。。样例输出不是230吗,题目所表达的就是这个意思!
C语言 楼上走到楼下共有h个台阶,每一步有3种走法:走1个台阶;走2个台阶;走3个台阶.问可走多少种方案?样例输入:10
10个台阶分7步走完,每步最多走3个台阶,有多少种方法?
某人上楼梯,一步可以上1,2,3个台阶,楼梯共10个台阶,从地面到最上层共有多少种不同走法?
从楼下经过一些台阶走到楼上,规定每一步只能跨一级,两级,三级,登上15级台阶有多少种不同的走法?
7个台阶 可以一次走一步 也可以走2步 有多少种走法
某人上楼梯,一步可以上1,2,3个台阶,楼梯共1000个台阶,从地面到最上层共有多少种不同走法?
某人上楼梯一步可以跨上2个台阶或3个台阶,这个楼梯一共有10个台阶,从地面到最上层共有()种不同的走法
某人上楼梯一步可以跨上2个台阶或3个台阶这个楼梯一共有10个台阶从地面到最上层共有()种不同的走法
小明家住在三楼,每一层的楼梯都有10个台阶,小明放学回家从楼下走到家中,要走()个台阶?
从楼下经过一些台阶走到楼上规定每一步只能跨上一级或者两级.
12个台阶.用十步走完.每步最多走2坎台阶.有几种走法?
如果上台阶时每步跨1个或2个台阶,当跨上第十级台阶共有几种不同的走法?