N台阶M步爬楼梯问题
递归
#include <iostream>
using namespace std;
// 总台阶数、最大步数
int solve(int n, int m)
{
int res = 0;
// 总台阶为0时终止循环
if (n == 0)
return 1;
if (n >= m)
{
for (int i = 1; i <= m; i++)
{
res += solve(n - i, m);
}
}
else
{
res = solve(n, n);
}
return res;
}
int main()
{
cout << solve(2,2) << endl;
}