非負の整数m 、n に対して次のとおりに定義された関数Ack(m , n )がある。
Ack(1, 3)の値はどれか。
ア | 3 |
イ | 4 |
ウ | 5 |
エ | 6 |
答え ウ
【解説】
Ack(1, 3)を定義通りに解いていく
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, 2)))
=Ack(0, Ack(0, 3)=Ack(0, 4)=5
(ウ)になる。
【キーワード】
・再帰呼び出し