楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,用C++或lua语言编一程序计算共有多少种不同的走法.分别用递归、
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/16 21:05:28
楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,用C++或lua语言编一程序计算共有多少种不同的走法.分别用递归、迭代二种方式, 写出详细的代码
int recursive(int n)
{
if (n <= 2)
return n;
return recursive(n - 1) + 2 * recursive(n - 2);
}
int iterative(int n)
{
int f1 = 1, f2 = 2, f;
for (int i = 3; i <= n; ++i)
{
f = f2 + 2 * f1;
f1 = f2;
f2 = f;
}
return f;
}
再问: 2 * recursive(n - 2);
这里为什么要乘2?好像不用吧,直接return f(n-1)+f(n-2)就行了吧
再答: 是不用乘2,你理解是对的。我想偏了。
更改为:
int recursive(int n)
{
if (n
{
if (n <= 2)
return n;
return recursive(n - 1) + 2 * recursive(n - 2);
}
int iterative(int n)
{
int f1 = 1, f2 = 2, f;
for (int i = 3; i <= n; ++i)
{
f = f2 + 2 * f1;
f1 = f2;
f2 = f;
}
return f;
}
再问: 2 * recursive(n - 2);
这里为什么要乘2?好像不用吧,直接return f(n-1)+f(n-2)就行了吧
再答: 是不用乘2,你理解是对的。我想偏了。
更改为:
int recursive(int n)
{
if (n
楼梯有20阶台阶,上楼可以一步上1阶,也可以一步上2阶,计算共有多少种不同的走法
c语言上台阶答案梯有N阶,上楼可以一步上一阶,也可以一次上二阶.编一个程序,计算共有多少种不同的走法.如果上10阶会有几
楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶
一段楼梯有9个台阶,可以一步上一阶,也可以一步上两?阶,问:这样有多少种不同的上楼方法?
一段楼梯有九个台阶,可以一步上一阶,也可以一步上两阶,问:这样有多少种不同的上楼方法?如题
某人上楼梯,一步可以上1,2,3个台阶,楼梯共10个台阶,从地面到最上层共有多少种不同走法?
某人上楼梯,一步可以上1,2,3个台阶,楼梯共1000个台阶,从地面到最上层共有多少种不同走法?
上楼梯中的数学问题一层楼15节楼梯,上楼一步可以走一节或二节楼梯,有多少种上楼的走法.
某人上楼梯一步可以跨上2个台阶或3个台阶,这个楼梯一共有10个台阶,从地面到最上层共有()种不同的走法
某人上楼梯一步可以跨上2个台阶或3个台阶这个楼梯一共有10个台阶从地面到最上层共有()种不同的走法
从一楼到二楼的楼梯17级上楼时可以一步走一级也可以一步走二级若要求11步走完这楼梯则有多少种不同的走法
某幢楼从二楼到三楼共有11级楼梯,可以一步一级上楼,也可以一步两级或三级,问有多少种上楼方法?