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/06/24 05:42:43
![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;](/uploads/image/z/12928700-20-0.jpg?t=C%E8%AF%AD%E8%A8%80+%E6%A5%BC%E4%B8%8A%E8%B5%B0%E5%88%B0%E6%A5%BC%E4%B8%8B%E5%85%B1%E6%9C%89h%E4%B8%AA%E5%8F%B0%E9%98%B6%2C%E6%AF%8F%E4%B8%80%E6%AD%A5%E6%9C%893%E7%A7%8D%E8%B5%B0%E6%B3%95%EF%BC%9A%E8%B5%B01%E4%B8%AA%E5%8F%B0%E9%98%B6%EF%BC%9B%E8%B5%B02%E4%B8%AA%E5%8F%B0%E9%98%B6%EF%BC%9B%E8%B5%B03%E4%B8%AA%E5%8F%B0%E9%98%B6.%E9%97%AE%E5%8F%AF%E8%B5%B0%E5%A4%9A%E5%B0%91%E7%A7%8D%E6%96%B9%E6%A1%88%3F%E6%A0%B7%E4%BE%8B%E8%BE%93%E5%85%A5%EF%BC%9A10%E6%A0%B7%E4%BE%8B%E8%BE%93%E5%87%BA%EF%BC%9A230%E6%88%91%E5%86%99%E7%9A%84%E6%98%AF%EF%BC%9Aif%28n%3D%3D1%29return+1%3Belse+if%28n%3D%3D2%29return+2%3Belse+if%28n%3D%3D3%29return+4%3B)
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吧,改过来吧.
不知道楼上的怎么会认为没错,不过得谢谢楼主哇,以前都是用非递归写的,这次受教了!