応用情報技術者試験 応用情報技術者試験 平成30年度春期 午前 問5: 非負の整数 m,n に対して次のとおりに定義された関数 Ack(m,n)がある。Ack(1,3)の値はどれか。 Ack(m,n)=Ack(m−1,Ack(m,n

←
応用情報技術者試験 平成30年度春期 午前
Q 55 / 80
非負の整数 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のとき)
この問の正解率:46.85%(1,142件)

解説

応用情報技術者試験 平成30年度春期 午前 問5「非負の整数 m,n に対して次のとおりに定義された関数 Ack(m,n)がある。…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約47%です。

正解

ウ. 5

正答率 46.8%(1,142人中 535人が正解)

問題の解説

定義に従い、内側の呼出しから順に値を求める。Ack(1,0)=Ack(0,1)=2、Ack(1,1)=Ack(0,Ack(1,0))=Ack(0,2)=3、Ack(1,2)=Ack(0,3)=4 となり、Ack(1,3)=Ack(0,Ack(1,2))=Ack(0,4)=5 である。m が 0 のときに n+1 を返す規則が、再帰を終える条件になる。

選択肢ごとの解説

  • ア3 は Ack(1,1) の値である。展開を途中で止めた値で、Ack(1,3) には届いていない。
  • イ4 は Ack(1,2) の値である。あと一段、Ack(0,4) まで展開する必要がある。
  • ウ正しい。Ack(1,3)=Ack(0,Ack(1,2))=Ack(0,4)=4+1=5 となる。
  • エ6 は Ack(1,4) の値であり、引数を一つ多く展開した値である。

応用情報技術者試験 平成30年度春期 午前 の過去問一覧に戻る・問5

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード