情報処理安全確保支援士試験 情報処理安全確保支援士試験 平成30年度春期 午前Ⅰ2: 非負の整数m,nに対して次のとおりに定義された関数Ack(m,n)がある。Ack(1,3)の値はどれか。 Ack(m,n)=Ack(m−1,Ack(m,n−1)

情報処理安全確保支援士試験 平成30年度春期 午前Ⅰ
Q 22 / 30
非負の整数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年度春期 午前Ⅰ 問2「非負の整数m,nに対して次のとおりに定義された関数Ack(m,n)がある。Ack…」の正解と解説です。情報処理安全確保支援士試験の「再帰」分野の過去問で、各選択肢の正誤も解説付きで確認できます。

正解

. 5

問題の解説

アッカーマン関数は定義に従い再帰展開する典型問題。m=0なら結果はn+1。Ack(1,3)=Ack(0,Ack(1,2))と展開し、Ack(1,2)=Ack(0,Ack(1,1))、Ack(1,1)=Ack(0,Ack(1,0))、Ack(1,0)=Ack(0,1)=2と最内側から計算する。順にAck(1,1)=3、Ack(1,2)=4、Ack(1,3)=5となり正解はウ。m=1ではAck(1,n)=n+2となる性質があり、再帰の停止条件と評価順序の理解を問う。

選択肢ごとの解説

  • 3はAck(1,1)の値であり、引数nに対し展開が一段不足しているためAck(1,3)とはならず誤り。
  • 4はAck(1,2)の値で、最内側からもう一段の再帰展開が足りておらず、Ack(1,3)には届かないため誤り。
  • 定義を最内から展開するとAck(1,n)=n+2の規則が成り立ち、Ack(1,3)=3+2=5となり正解。
  • 6はAck(1,4)に相当する値で、与えられた引数より一段多く展開し過ぎているため誤り。

情報処理安全確保支援士試験 平成30年度春期 午前Ⅰ の過去問一覧に戻る・問2

情報処理安全確保支援士試験 の iOS アプリ版

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

情報処理安全確保支援士試験 合格.dev を App Store でダウンロード