高普考題庫
110 年 110年公務人員高等考試三級考試暨普通考試・程式設計概要
申論 2程式語言C 的程式碼是由許多函式(Function)組成。#include <stdio.h>int memo[20][20], number=0;int B(int n, int k){if((n >= 0)&&(k >= 0)&&(n >= k))if((k == 0)||(k == n)){memo[n][k] = 1;return 1;}else if(memo[n][k] > 0)return memo[n][k];else{memo[n][k] = B(n-1, k-1)+ B(n-1, k);number+=2;return memo[n][k];}else return 0;}void f(int N, int M){int sum=0;for(int i=1; i<=N; i++){if(i>=10)break;if(i%3==0)continue;sum = sum + B(i, 2);}printf("%d %d ", sum, number);}int g(int N, int M){if((N<=0)||(M<0))return 1;else return(M + N + g(M-2, N-3));}int main(){f(20, 10);printf("%d\n", g(20, 10));return 0;}㈠請說明上述程式執行的結果。(15 分)㈡請說明上述程式中break 與continue 指令行的意義,並比較兩個指令之功能差異。(5 分)㈢請說明C 程式使用遞迴(Recursion)與迴圈(Loop),在時間、空間與程式可讀性之優缺點。(5 分)