台阶走法

/*
  问题:一个楼梯有35级,每次走1级或2级或3级,请问从底走到顶一共有多少种走法?
  思想:到达最后一阶可以由最后一阶的前三阶走三步上去,或者由最后一阶的前两阶走两步上去,也可以由最后一阶走一步上去
  第一阶有一种走法(一步)
  第二阶有两种走法(连着走两个一步和直接一步走两个台阶)
  第三种走法(由前两个台阶的走法再走一步和直接一步走三个台阶)
  第i阶走法=第i-3阶的走法+第i-2阶的走法+第i-1阶的走法
*/
#include<iostream>
using namespace std;
int main(){
int f[36]={0};
f[0]=1;
f[1]=2;
f[2]=4;
for(int i=4;i<=35;i++){
f[i]=f[i-1]+f[i-2]+f[i-3];
}
cout<<f[35]<<endl;
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值