問題
選択肢
- 19
- 215
- 320
- 424
正解
4. 24
詳しい解説を見る解説を閉じる
解説
このプログラムは配列の2番目の要素から順に走査し、直前の要素prevより大きい要素だけをsumに加算する。判定の後、prevは必ず現在の要素に更新される点に注意してトレースすると、1(3より小で加算なし)、4(1より大で+4)、1(4より小で加算なし)、5(1より大で+5)、9(5より大で+9)、2(9より小で加算なし)、6(2より大で+6)となる。途中式はsum=4+5+9+6=24であり、「24」が正解である。ア・イ・「20」は、prevを先頭要素の3に固定したまま比較したり、加算対象を取りこぼしたりした場合に生じる誤答である。頻出ポイント:直前値との比較は増加区間の検出などに使われる定番パターンで、prevの更新がif文の外で毎回行われることを見落とさないのが鍵である。
一問一答
科目A 180問+科目B 60問