1 条题解

  • 1
    @ 2024-6-12 18:39:45

    题意

    就是让你求 n 级台阶时有一次跨一级,一次跨两级,一次跨三级这三种方式,一共多少种走法,且顺序不同也算两种哦!要注意。另外还有注意数据范围,需要使用long long。

    递推思路

    就是一个简单的递推题,当 n 为一时,那当然就是下一级台阶,当 n 为二时,可以下两级,也可以下两个一级,当 n 为三时,可以下三级,也可以先下一级再下两级,也可以先下两级后下一级,也可以连续下三个一级,后面就是每一项都为前三项之和就行啦!

    image

    递推代码

    #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

    [GESP样题 六级] 下楼梯

    信息

    ID
    656
    时间
    1000ms
    内存
    512MiB
    难度
    7
    标签
    递交数
    14
    已通过
    11
    上传者