Язык Wolfram Language

Алгебра и теория чисел

Разложение чисел

NumberDecompose выражает число во множественных единицах измерения, например, в валютных единицах разного достоинства.

Валюта Багам (BSD) использует банкноты следующего достоинства.

In[1]:=
Click for copyable input
denominations = {100, 50, 20, 10, 5, 3, 2, 1, 1/2};

BSD допускает большoе количество вариантов размена валюты благодаря наличию банкноты достоинством 3 BSD. Они являются отношением между последовательными номиналами.

In[2]:=
Click for copyable input
Divide @@@ Subsequences[denominations, {2}]
Out[2]=

В большинстве валютных систем существуют только отношения 2 и 5/2, а в данном случае ещё имеются 5/3 и 3/2.

In[3]:=
Click for copyable input
Divide @@@ Subsequences[denominations, {2}]; BarChart[%]
Out[3]=

Разложить заданное количество багамских долларов на имеющиеся номиналы банкнот.

In[4]:=
Click for copyable input
NumberDecompose[598.50, denominations]
Out[4]=

Запросите начальное количество, используя NumberCompose.

In[5]:=
Click for copyable input
NumberCompose[{5, 1, 2, 0, 1, 1, 0, 0, 1.}, denominations]
Out[5]=

Полученное значение представляет собой количество денег, полученных банкнотой каждого номинала.

In[6]:=
Click for copyable input
NumberCompose[Table[1, Length@denominations], denominations] // N
Out[6]=

Родственные примеры

de en es fr ja ko pt-br zh