民國115年 普通考試 電子工程 計算機概要

第26題

考慮執行以下的程式碼片段:i=1;s=0;do {i++;s+=i;} while(s<=k);下列何者正確?

題目

考慮執行以下的程式碼片段:i=1;s=0;do {i++;s+=i;} while(s<=k);下列何者正確? A. 當k=15 時,執行迴圈後變數s 為16 B. 當k=20 時,執行迴圈後變數s 為20 C. 當k=34 時,執行迴圈後變數s 為36 D. 當k=35 時,執行迴圈後變數s 為44

官方答案

  • 答案:D. 當k=35 時,執行迴圈後變數s 為44

解析

這是 do-while 迴圈,先執行再判斷。i 從 1 起,每圈先 i++ 再累加,s 依序為 2、5、9、14、20、27、35、44,也就是 2+3+4+… 的部分和。k=15 時要加到 s=20 才因 20>15 停止,故 s 為 20;k=20 時 s=20 仍符合條件,再加一輪成 27;k=34 時同理停在 35;k=35 時 35≤35 仍繼續,i 增為 8 使 s=44,之後 44>35 才停止,故 D 正確。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料

答案以考選部公告之測驗式試題標準答案 PDF 為準。