標題:
APCS 觀念題 10510 - 7
[打印本頁]
作者:
李泳霖
時間:
2022-6-11 08:53
標題:
APCS 觀念題 10510 - 7
本帖最後由 李泳霖 於 2022-6-11 11:07 編輯
若 n 為正整數,下列程式三個迴圈執行完畢後 a 值將為何?
int a=0, n;
…
for (int i=1; i<=n; i=i+1)
for (int j=i; j<=n; j=j+1)
for (int k=1; k<=n; k=k+1)
a = a + 1;
複製代碼
答案是 (D)
若一時間找不到頭緒,可試著帶一個小數字進去,觀察其運作情形,譬如假設 n=3:
i j k
------
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 3 1
1 3 2
1 3 3
2 2 1
2 2 2
2 2 3
2 3 1
2 3 2
2 3 3
3 3 1
3 3 2
3 3 3
發現帶出來的數可分為三個群聚,假設最下方的群聚為一個單位,則由上而下為 3、2、1 個單位,總共有 (n+1)*n/2 個單位。而每個單位都會執行 n 次,故總共會執行 n*(n+1)*n/2 次。
另一種解法為先遮住最內層的迴圈,即可看出端倪,外層加中層的迴圈總共會執行 (n+1)*n/2 次,而每個最內層的迴圈都會執行 n 次,得解。
作者:
黃柏叡
時間:
2022-6-11 10:27
此帖僅作者可見
作者:
曾宥程
時間:
2022-6-11 10:34
此帖僅作者可見
作者:
李穎俊
時間:
2022-6-11 10:37
此帖僅作者可見
作者:
張淯祺
時間:
2022-6-11 11:06
此帖僅作者可見
作者:
王銘鴻
時間:
2022-6-11 11:06
此帖僅作者可見
作者:
陳羿安
時間:
2022-6-11 11:07
此帖僅作者可見
作者:
林羿丞
時間:
2022-6-11 11:07
此帖僅作者可見
作者:
郭哲維
時間:
2022-6-15 11:25
此帖僅作者可見
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2