Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
25615 | LeeHao | 上台阶_记忆化递归 | C++ | 解答错误 | 0 MS | 244 KB | 471 | 2023-08-27 17:19:56 |
#include <iostream> using namespace std; int result[72] = {}; int recu(int num) { if (result[num] != 0) return result[num]; if (num == 1) return 1; if (num == 2) return 2; if (num == 3) return 4; int temp = recu(num - 1) + recu(num - 2) + recu(num - 3); result[num] = temp; return temp; } int main() { while (true) { int number; cin >> number; if (number == 0) break; cout << recu(number) << endl; } return 0; }