其实是斐波那婓数列当有M层楼梯时,如果最后一层不走,则前按第M-1层的走法再走一步
如果最后留下两层不走,则是按第M-2层的走法再走一步
总的方法就是前两层方法的和
#include<iostream>
using namespace std;
//斐波那契数列
int main() {
int n,m;
int arr[41]={0,1,1};
for(int i=3;i<=40;i++){
arr[i]=arr[i-2]+arr[i-1];
}
cin>>n;
while(n--){
cin>>m;
cout<<arr[m]<<endl;
}
return 0;
}
本文介绍了一个经典的楼梯问题解决方案,通过斐波那契数列求解不同层数楼梯的不同走法总数。利用递推公式计算并存储中间结果避免重复计算,实现高效求解。

448

被折叠的 条评论
为什么被折叠?



