アルゴリズム (全82問中17問目)

No.17

再帰的に定義された手続きprocで,proc(5)を実行したとき,印字される数字を順番に並べたものはどれか。

proc(n)
 n=0 ならば戻る
 そうでなければ
 {
  nを印字する
  proc(n−1)を呼び出す
  nを印字する
 }
 を実行して戻る
  • [この問題の出題歴]
  • ソフトウェア開発技術者 H19秋期 問14

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム

正解

解説

proc(5)の流れをトレースします。

proc(5)
n=0ではないので5を印字
proc(4)を呼び出す

proc(4)
n=0ではないので4を印字
proc(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を印字してproc(4)内に戻る

4を印字してproc(5)内に戻る

5を印字して処理を終了する

印字された数字を順番に並べると「5432112345」になります。
© 2010-2018 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop