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]=