代码如下:
#include<iostream>
using namespace std;
int lou(int x)
{
if (x == 1 || x == 2)
return x;
else
return lou(x - 1) + lou(x - 2);
}
int main()
{
int n;
cout << "请输入台阶数:";
cin >> n;
cout <<"上台阶方案总数为"<< lou(n);
return 0;
}
解释如下:
这个函数
lou
用于计算上x
级台阶的方案总数。它使用了递归的方法:
- 递归终止条件:当
x
等于 1 或 2 时,直接返回x
。这是因为上 1 级台阶只有 1 种方法,上 2 级台阶有 2 种方法(一次上 1 级,分两次上;或者一次上 2 级)。- 递归调用:对于大于 2 的
x
,上x
级台阶的方案总数等于上x - 1
级台阶的方案总数加上上x - 2
级台阶的方案总数。这是基于一个递推关系:要到达第x
级台阶,要么从第x - 1
级台阶上一步到达,要么从第x - 2
级台阶上两步到达。
觉得有帮助就给博主点个关注叭~~
有问题的可以私信或者在评论区一起交流
友友们一起加油叭QAQ
标签:方案,总数,爬楼梯,递归,int,C++,lou,台阶 From: https://blog.csdn.net/2302_80266078/article/details/145038593