普考申論題
109年
[資訊處理] 程式設計概要
第 四 題
四、請問下列程式執行後,印出結果為何?(作答必須解釋計算過程,只寫答案而未加解釋,只能得部分分數。)(25分)
#include
using namespace std;
bool sqst(int arr[], int n, int sum){
if (sum == 0) { return true; }
if (n < 0 || sum < 0) { return false; }
bool include = sqst(arr, n - 1, sum - arr[n]);
bool exclude = sqst(arr, n - 1, sum);
return include || exclude;
}
int main(){
int arr[] = { 7, 3, 2, 5, 8 };
int sum = 14;
int n = sizeof(arr)/ sizeof(arr[0]);
if (sqst(arr, n - 1, sum)) cout << "Yes";
else cout << "No";
return 0;
}
📝 此題為申論題
思路引導 VIP
看到本題,首先要辨識出這是一個 C++ 程式語言問題,核心考點在於遞迴函式的分析與演算法的理解。
- 程式碼結構分析:
🤖
AI 詳解
AI 專屬家教
【考點分析】 本題主要考驗考生對 C++ 程式語言中遞迴函式設計與分析的能力,具體涉及:
- 遞迴原理:理解遞迴的基本情況 (Base Cases) 與遞迴步驟 (Recursive Step)。
▼ 還有更多解析內容