Decomposição de números
NumberDecompose expressa um número em múltiplos de unidades, tais como denominações monetárias.
A moeda das Bahamas (BSD) usa as seguintes denominações de notas.
In[1]:=

denominations = {100, 50, 20, 10, 5, 3, 2, 1, 1/2};
A BSD permite mais maneiras possíveis de decompor um determinado montante de notas em relação a outras moedas, porque possui nota de 3 BSDs. Estes são os quocientes entre as denominações consecutivas.
In[2]:=

Divide @@@ Subsequences[denominations, {2}]
Out[2]=

Na maioria dos sistemas monetários, apenas quocientes 2 e 5/2 estão presentes, mas neste caso também temos 5/3 e 3/2.
In[3]:=

Divide @@@ Subsequences[denominations, {2}];
BarChart[%]
Out[3]=

Decomponha um valor de dólares das Bahamas nas denominações de notas disponíveis.
In[4]:=

NumberDecompose[598.50, denominations]
Out[4]=

Recupere o montante inicial usando NumberCompose.
In[5]:=

NumberCompose[{5, 1, 2, 0, 1, 1, 0, 0, 1.}, denominations]
Out[5]=

Esta é a quantidade de dinheiro obtida com uma nota de cada denominação.
In[6]:=

NumberCompose[Table[1, Length@denominations], denominations] // N
Out[6]=
