수의 분해
NumberDecompose는 화폐와 같이 수를 여러 가지 단위로 분해하여 나타냅니다.
바하마 달러 (BSD)는 다음의 지폐를 사용하고 있습니다.
In[1]:=
denominations = {100, 50, 20, 10, 5, 3, 2, 1, 1/2};
BSD는 BSD 3가지 지폐가 있기 때문에 지정된 금액의 분해에 다른 통화보다 더욱 다양한 방법을 사용할 수 있습니다. 다음은 연속하는 단위 사이의 상입니다.
In[2]:=
Divide @@@ Subsequences[denominations, {2}]
Out[2]=
대부분의 통화 시스템은 상 2와 5/2 밖에 없지만, 이 경우 5/3과 3/2도있습니다.
In[3]:=
Divide @@@ Subsequences[denominations, {2}];
BarChart[%]
Out[3]=
주어진 금액의 바하마 달러를 사용 가능한 지폐로 분해합니다.
In[4]:=
NumberDecompose[598.50, denominations]
Out[4]=
NumberCompose를 사용하여 원래 금액으로 되돌립니다.
In[5]:=
NumberCompose[{5, 1, 2, 0, 1, 1, 0, 0, 1.}, denominations]
Out[5]=
다음은 각각의 지폐를 사용하여 얻을 수 있는 금액입니다.
In[6]:=
NumberCompose[Table[1, Length@denominations], denominations] // N
Out[6]=