Numérico # divmod em Ruby

Em Ruby, num.divmod(numeric)retorna uma matriz contendo o quociente e o módulo obtidos dividindo num por numérico .

Então se q, r = x.divmod(y)então

q = floor(x / y)

x
= q * y + r

Exemplo: Calcule a combinação de [50, 20, 10, 5, 1] ​​notas de um dólar para uma certa quantia de dinheiro.

def make_change r, notes = [50,20,10,5,1]
notes
.map do |c|
q
, r = r.divmod c
q

end
end