公務員試験 H27年 国家一般職(電気・電子・情報) No.37解説

 問 題     

再帰的に定義された以下の手続 proc で proc(3) を実行したとき、印字される数字を順番に並べたものとして最も妥当なのはどれか。

1. 321
2. 32123
3. 321123
4. 3210123
5. 32100123

 

 

 

 

 

正解 (3)

 解 説     

proc(3) → n ≠ 0 → 「3 を印字」 して、proc(2) の呼び出し
proc(2) → n ≠ 0 → 「2 を印字」 して、proc(1) の呼び出し
proc(1) → n ≠ 0 → 「1 を印字」 して、proc(0) の呼び出し
proc(0) → n = 0 なので 戻る、さっきの proc(1) の「続き」へ
→1 を印字して、proc(2) へ戻る
→2 を印字して、proc(3) へ戻る
→3 を印字して、戻る。つまりおしまい。「321123」が出力されている

以上より、正解は 3 です。

コメント