阿摩線上測驗 登入

申論題資訊

試卷:100年 - 100 關務特種考試_四等_資訊處理:程式語言概要#27097
科目:程式語言
年份:100年
排序:0

題組內容

四、以下是 1 個函數(function),用類似 C(C-like)的語言來表示。假設輸入的參數 n 都是正整數,請回答下列問題:(10 分)

申論題內容

⑴這個函數在計算什麼?(用 n 的函數來表示)

詳解 (共 1 筆)

詳解 提供者:hchungw

分析這個函數在計算什麼

這個函數使用了遞迴(recursion),並且包含一個基本情況(base case)和遞迴情況(recursive case)。

  1. 基本情況

    • 當 n == 1 時,函數返回 1。
  2. 遞迴情況

    • 當 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)