題組內容
四、以下是 1 個函數(function),用類似 C(C-like)的語言來表示。假設輸入的參數
n 都是正整數,請回答下列問題:(10 分)
⑴這個函數在計算什麼?(用 n 的函數來表示)
詳解 (共 1 筆)
詳解
分析這個函數在計算什麼
這個函數使用了遞迴(recursion),並且包含一個基本情況(base case)和遞迴情況(recursive case)。
-
基本情況:
- 當 n == 1 時,函數返回 1。
-
遞迴情況:
- 當 n > 1 時,函數返回 n + func(n - 1)。
從這個遞迴公式我們可以看到,這個函數在計算從 n 到 1 的所有正整數的和。
我們可以用數學歸納法來驗證這個結論:
- 基本情況:當 n == 1 時,func(1) 返回 1,這是正確的。
- 遞迴情況:假設對於 n = k,func(k) 計算正確,則對於 n = k + 1,func(k + 1) = (k + 1) + func(k)。根據假設,func(k) 是從 k 到 1 的和,所以 func(k + 1) 是從 (k + 1) 到 1 的和。
因此,我們可以得出結論:
函數的數學表示
這個函數 func(n) 計算的是從 1 到 n 的所有正整數的和。這可以表示為:
func(n)=1+2+3+…+n\text{func}(n) = 1 + 2 + 3 + \ldots + nfunc(n)=1+2+3+…+n
數學公式
這個和可以用已知的等差數列和公式表示:
func(n)=n(n+1)2\text{func}(n) = \frac{n(n + 1)}{2}func(n)=2n(n+1)
所以,這個函數 func(n) 計算的是從 1 到 n 的所有正整數的和,或者用公式表示為:
func(n)=n(n+1)2\text{func}(n) = \frac{n(n + 1)}{2}func(n)=2n(n+1)
總結
這個函數 func(n) 計算的是從 1 到 n 的所有正整數的和,數學上可以表示為:
func(n)=n(n+1)2\text{func}(n) = \frac{n(n + 1)}{2}func(n)=2n(n+1)