平成30年度 春期 応用情報技術者試験 午前 問5
テクノロジ/基礎理論非負の整数 m,n に対して次のとおりに定義された関数 Ack(m, n) がある。Ack(1, 3) の値はどれか。 Ack(m, n) = Ack(m−1, Ack(m, n−1)) (m>0かつn>0のとき) Ack(m, n) = Ack(m−1, 1) (m>0かつn=0のとき) Ack(m, n) = n+1 (m=0のとき)
出典:平成30年度 春期 応用情報技術者試験 午前 問5
- ア3
- イ4
- ウ5
- エ6
正解:ウ
解説
定義に従って逐次展開すると,Ack(1,0)=Ack(0,1)=2,Ack(1,1)=Ack(0,2)=3,Ack(1,2)=Ack(0,3)=4,Ack(1,3)=Ack(0,4)=5となります。一般にAck(1,n)=n+2という性質と一致します。
選択肢ごとの解説
- ア誤り。3はAck(1,1)の値であり,Ack(1,3)ではありません。
- イ誤り。4はAck(1,2)の値であり,展開を1段階早く止めた場合に生じる値です。
- ウ正しい。Ack(1,3)=Ack(0,Ack(1,2))=Ack(0,4)=5です。
- エ誤り。6はAck(1,4)に相当する値であり,展開を1段階多く進めすぎた場合に生じます。