情報処理安全確保支援士試験の公開問題
2018 春 午前I 問02
このページはIPA Advancedが運営する非公式の学習用ページです。IPAとの提携・公認を示すものではありません。
問題文
非負の整数m,nに対して次のとおりに定義された関数Ack(m,n)がある。Ack(1,3)の値はどれか。 Ack(m,n) = ⎧ Ack(m−1,Ack(m,n−1)) (m>0かつn>0のとき) ⎨ Ack(m−1,1) (m>0かつn=0のとき) ⎩ n+1 (m=0のとき)
選択肢
- ア: 3
- イ: 4
- ウ: 5
- エ: 6
解説の要点
添付の公式解答表では,問2の正解はウ。定義より,Ack(0,n)=n+1です。まずAck(1,0)=Ack(0,1)=2。n>0ではAck(1,n)=Ack(0,Ack(1,n−1))=Ack(1,n−1)+1となるので,Ack(1,1)=3,Ack(1,2)=4,Ack(1,3)=5と求められる。
呼出しスタックを調べ、引数に関数呼出しを含む場合の計算過程を、小さな例で図にできますか?
関連する問題一覧
公式出典
訂正・編集方針
解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。