データベーススペシャリスト 平成30年春期 午前T 問2

午前T 問2

非負の整数m,nに対して次のとおりに定義された関数 Ack(m,n) がある。Ack(1,3) の値はどれか。
am1/05.gif/image-size:450×59
  • [この問題の出題歴]
  • 応用情報技術者
    平成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
© 2016-2018 データベーススペシャリストドットコム All Rights Reserved.

Pagetop