本帖最後由 ray 於 2020-12-26 12:01 編輯
https://apcs.csie.ntnu.edu.tw/wp ... 0304APCSconcept.pdf
1.return A[high]; 這行程是無論如何不可能輸出比16大的最小整數
2.F(n) = 2*F(n/2) + n A1,A2的數量大小會在n到達一個數時轉換 所以只要嘗試A選項與D選項。而計算A時得到的F(n)在計算D時要拿來用
3.遞迴必須收斂,所以D選項肯定錯。 運算必須變大,傳入14要得到40,C選項就錯。 嘗試A選項時14*13*...兩個就超過了 B選項:14+11+8+5+2 = 40
4.輾轉相除法求GCD,此遞迴函式以理解的方式背起來,實做題愈到時可以直接應用節省時間。
5.當陣列元素全部相同時,p=q
6.注意sum變數的位置,實作題時也要小心不要犯這種錯誤
7.列出第回過程算return的數量,注意B(2,2)符合return條件
8.區域變數不會改到全域變數,注意此處add裡面的迴圈跑兩次
9.注意是取陣列的索引在賦值,所以是X[2]=0,X[3]=1.....這時可以找到選項,後面不用再算
10.(b % 4)為條件式,只有0跟4的倍數值為0時等於false,其餘皆為true,所以100+75+50+25 = 250
11.兩變數交換必須有temp,且三行程式中的第一行比須對temp賦值
12.rand() % 要取的數量 + 起始值 100-1000共有901個數
13.D會重複修正
14.簡單的遞迴追蹤即可求解
15.(a < 12)與(a <= 11)是完全相同的意思。關鍵在於第一個條件式進入後會改變a的值導致無法進入第二個條件式中 |