問題
選択肢
- 1[1, 2, 3, 1, 2, 3]
- 2[1, 2, 3, 3, 2, 1]
- 3[3, 2, 1, 1, 2, 3]
- 4[3, 2, 1, 3, 2, 1]
正解
1. [1, 2, 3, 1, 2, 3]
詳しい解説を見る解説を閉じる
解説
スタックは後入れ先出し(LIFO)で、[1,2,3]の右端3が先頭。f()は「Aから1つpopしてCにpush→再帰→Cから1つpopしてBにpush」を繰り返す。Aから3,2,1の順にpopしCに積み(再帰の深い順)、戻りながらCのトップから順にpopしてBへ積む。Cに積まれた順(下から3,2,1)を再帰の戻りでpopすると1,2,3の順でBに追加され、Bは初期[1,2,3]の上に1,2,3が乗って[1,2,3,1,2,3]となる。よって「ア」が正しい。(出典: 平成31年度 春期 基本情報技術者試験 午前 問6)
一問一答
科目A 180問+科目B 60問