IPA過去問ドリル

平成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

正解:ウ

解説

定義に従って逐次展開すると,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段階多く進めすぎた場合に生じます。
応用情報技術者の過去問を演習モードで解く