非負の整数 m、n に対して次のとおりに定義
された関数 Ack(m, n) がある。Ack(1, 3) の
値はどれか。
┌ Ack(m-1, Ack(m, n-1)) (m>0 かつ n>0のとき)
Ack(m, n) = ┤ Ack(m-1, 1) (m>0 かつ n=0のとき)
└ n+1 (m=0 のとき)
ア 3 イ 4 ウ 5 エ 6
Ack(1, 3) = Ack(1-1, Ack(1, 3-1)) = Ack(0, Ack(1, 2))
= Ack(0, Ack(1-1, Ack(1, 2-1))) = Ack(0, Ack(0, Ack(1, 1)))
= Ack(0, Ack(0, Ack(1-1, Ack(1, 1-1)))) = Ack(0, Ack(0, Ack(0, Ack(1, 0))))
= Ack(0, Ack(0, Ack(0, Ack(1-1, 1)))) = Ack(0, Ack(0, Ack(0, Ack(0,1))))
= Ack(0, Ack(0, Ack(0, 1+1))) = Ack(0, Ack(0, Ack(0, 2)))
= Ack(0, Ack(0, 2+1)) = Ack(0, Ack(0, 3))
= Ack(0, 3+1) = Ack(0, 4) = 4+1
= 5
EXCEL VBAのご相談なら ファーストマクロ へ
タグ:再帰関数