1 条题解

  • 0
    @ 2026-1-31 12:59:53
    #include<bits/stdc++.h>
    using namespace std;
    
    // arr数组:存储第i级台阶对应的不同走法数(大小满足n≤100000的需求)
    int arr[100100]={};
    // n:输入的楼梯台阶数
    int n;
    
    int main(){
        // [1] 读取输入的台阶数n
        cin>>n;
    
        // [2] 初始化基础情况:
        // 第1级台阶只有1种走法(走1级);第2级台阶有2种走法(1+1或直接走2级)
        arr[1]=1,arr[2]=2;
    
        // [3] 递推计算第3到第n级台阶的走法数:
        // 第i级的走法数 = 第i-1级的走法数(最后一步走1级) + 第i-2级的走法数(最后一步走2级)
        for(int i=3;i<=n;i++){
        	arr[i]=arr[i-1]+arr[i-2];
    	}
    
    	// [4] 输出第n级台阶对应的不同走法数
    	cout<<arr[n];
        return 0;
    }
    
    • 1

    信息

    ID
    819
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    2
    已通过
    1
    上传者