1 条题解
-
1
题意
就是让你求 n 级台阶时有一次跨一级,一次跨两级,一次跨三级这三种方式,一共多少种走法,且顺序不同也算两种哦!要注意。另外还有注意数据范围,需要使用long long。
递推思路
就是一个简单的递推题,当 n 为一时,那当然就是下一级台阶,当 n 为二时,可以下两级,也可以下两个一级,当 n 为三时,可以下三级,也可以先下一级再下两级,也可以先下两级后下一级,也可以连续下三个一级,后面就是每一项都为前三项之和就行啦!
递推代码
#include<iostream> using namespace std; long long f[65]; int main(){ int n; cin>>n; f[0]=1; f[1]=1; f[2]=2; for(int i=3;i<=n;i++){ f[i]=f[i-1]+f[i-2]+f[i-3]; } cout<<f[n]; return 0; }
- 1
信息
- ID
- 656
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 6
- 标签
- 递交数
- 15
- 已通过
- 12
- 上传者