提交时间:2023-08-27 17:19:56

运行 ID: 25615

#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; }