Wolfram言語

代数と整数論

混合基底計算

MixedRadixを使うと,各桁の数字の基底が異なる数値系を扱うことができる.

次は古代ローマ軍のいくつかの兵士隊の名称である.

In[1]:=
Click for copyable input
units = {"legion", "cohort", "century", "contubernia", "soldier"};

legion(軍団)は10のcohort(歩兵隊)から,cohortは6のcentury(百人隊)から,centuryは10のcontubernia(分隊)から,contuberniaは8人の兵士から構成されていた.

In[2]:=
Click for copyable input
bases = MixedRadix[{10, 6, 10, 8}];

この数値系における,1つのcontuberniaに含まれる兵士数.

In[3]:=
Click for copyable input
FromDigits[{1, 0}, bases]
Out[3]=

この数値系における,1つのcenturyに含まれる兵士数.

In[4]:=
Click for copyable input
FromDigits[{1, 0, 0}, bases]
Out[4]=

この数値系における,1つのcohortに含まれる兵士数.

In[5]:=
Click for copyable input
FromDigits[{1, 0, 0, 0}, bases]
Out[5]=

この数値系における,1つのlegionに含まれる兵士数.

In[6]:=
Click for copyable input
FromDigits[{1, 0, 0, 0, 0}, bases]
Out[6]=

逆に,兵士数をこれらの戦略部隊に分割する.

In[7]:=
Click for copyable input
IntegerDigits[16894, bases]
Out[7]=
In[8]:=
Click for copyable input
IntegerDigits[16894, bases]; Thread[units -> %]
Out[8]=

関連する例

de en es fr ko pt-br ru zh