| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 129803 | 欧阳俊懿 | 青蛙跳台阶 | C++ | Wrong Answer | 1 MS | 268 KB | 674 | 2025-09-06 15:46:30 |
#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; }
------Input------
40
------Answer-----
549755813888
------Your output-----
23837527729