ZeroJudge G488: COVID-101

電算社在剛開學時,就已經蔓延了一種病毒稱為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)。
24
10340

解題思路

可以使用函式回傳數值的方式做遞迴終止條件是當 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

發佈留言