Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
129062 罗迎甲 上台阶 C++ Accepted 1 MS 272 KB 664 2025-08-21 16:48:31

Tests(10/10):


Code:

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int main(){ long long a[41] = {0, 1, 2, 4}; // 初始化前4项(索引0~3) int n; long long q = 0; cin >> n; // 限制n的范围,避免数组越界 if (n==0) { // 因为i+1最大为n+1 ≤40 → n≤39,留一点余量 cout<<0; return 0; } else{ // 从i=3开始递推(确保i-2≥1,避免访问a[-1]) for (int i = 4; i <=n; i++) { a[i] = a[i-3] + a[i-1] + a[i-2]; // 递推公式:当前项=前三项之和 } cout << a[n]; } return 0; }