電算社在剛開學時,就已經蔓延了一種病毒稱為COVID-101,得到這種病的人,會一直瘋狂裝弱,且常常把「電」掛在嘴邊。COVID-101有一種特殊的蔓延方式,在第1天時有1個COVID-101病毒,而在第 x 天時,會有 n(x) = n(x – 1) + x2 – x + 1 個病毒,請你計算出 x 天後COVID-101的數量 n(x)。
範例測資
範例輸入 | 範例輸出 |
---|---|
輸入一個整數,代表經過 x 天 x <= 200 | 輸出 n(x)。 |
2 | 4 |
10 | 340 |
解題思路
可以使用函式回傳數值的方式做遞迴,終止條件是當 N = 1 時就回傳 1。
範例程式碼-ZeroJudge G488: COVID-101
#include <iostream>
using namespace std;
int calc (int N)
{
if (N == 1) return 1;
return calc(N-1) + (N*N) - N + 1;
}
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
cout << calc(N) << "\n";
}
//ZeroJudge G488
//Dr. SeanXD