情報処理安全確保支援士平成30年春期 午前Ⅰ 問2

問2

非負の整数m,nに対して次のとおりに定義された関数 Ack(m,n) がある。Ack(1,3) の値はどれか。
am1/05.gif/image-size:450×59
  • 3
  • 4
  • 5
  • 6
  • [出典]
  • 応用情報技術者
    平成30年春期 問5と同題

分類

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

正解

解説

設問の再帰関数 Ack(1,3) を実行すると次のようになります。
 Ack(1,3)
//Ack(1,3)は、m>0かつn>0
=Ack(0,Ack(1,2))
//Ack(1,2)は、m>0かつn>0
=Ack(0,Ack(0,Ack(1,1)))
//Ack(1,1)は、m>0かつn>0
=Ack(0,Ack(0,Ack(0,Ack(1,0))))
//Ack(1,0)は、m>0かつn=0
=Ack(0,Ack(0,Ack(0,Ack(0,1))))
//Ack(0,1)は、m=0
=Ack(0,Ack(0,Ack(0,2)))
//Ack(0,2)は、m=0
=Ack(0,Ack(0,3))
//Ack(0,3)は、m=0
=Ack(0,4)
//Ack(0,4)は、m=0
5
したがって「ウ」が正解です。
am1/05a.gif/image-size:300×216
© 2014-2024 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop