ターミネータが有効になるように、この例ではどのように n が整数に切り捨てられていますか??
たとえば、wonky_coins(5) の場合、再帰の次のラウンドは、wonky_coins(2.5)、wonky_coins(1.666)、wonky_coins(1.25) を呼び出す必要があります。正しい???
def wonky_coins(n)
return 1 if n == 0
return 3 if n == 1
return wonky_coins(n / 2) + wonky_coins(n / 3) + wonky_coins(n / 4)
end
ウォンキーコイン(5) == 11
ラウンド 1: [2, 1, 1]
ラウンド 2: [[1, 0, 0], [0, 0, 0], [0, 0, 0]]
ラウンド 3: [[[0, 0, 0], 0, 0], [0, 0, 0], [0, 0, 0]]