応用情報技術者平成30年春期 午前問5

問5

非負の整数m,nに対して次のとおりに定義された関数 Ack(m,n) がある。Ack(1,3) の値はどれか。
05.png/image-size:450×59
  • 3
  • 4
  • 5
  • 6

分類

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

正解

解説

設問の再帰関数 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
したがって「ウ」が正解です。
05a.png/image-size:300×216
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop