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;

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/30 06:14:26
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;
xRn@VTԇ8_JTT!DwIpH " 7jgvS~^JVڝ3gwg%zY#.sNט\J{K쯴:*02A0oA isci'8jm:>LJr =ɲ-kW#PrrhZ{4/FsLDK?LG8*QihrOy?cWt% .AD[ m楿V>߄\>c79ʙdQĒ<~G  7@?/{5-\ESnOT5qJV-*]WZI6Va#Ӵp5%Z0ѪvDf_eRlZK

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;
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
到底是怎么回事?

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;
输入10可以输出吗,我的堆栈报错,直接溢出了.
还有第三个判断条件,那个三步的时候,你能有四种走法,答案应该是230吧,改过来吧.
不知道楼上的怎么会认为没错,不过得谢谢楼主哇,以前都是用非递归写的,这次受教了!