Вычисления в системах счисления со смешанными основаниями
MixedRadix позволяет работать с системами счисления, в которых различные позиции чисел соответствуют различным базам.
Здесь представлены названия различных структурных подразделений солдат римской армии.
In[1]:=
units = {"legion", "cohort", "century", "contubernia", "soldier"};
Легион состоял из 10 когорт, когорта - из 6 центурий, центурия - из 10 контуберний, а контурберния - из 8 солдат.
In[2]:=
bases = MixedRadix[{10, 6, 10, 8}];
Определить количество солдат в контурбернии, используя данную систему счисления.
In[3]:=
FromDigits[{1, 0}, bases]
Out[3]=
Количество солдат в центурии.
In[4]:=
FromDigits[{1, 0, 0}, bases]
Out[4]=
Количество солдат в когорте.
In[5]:=
FromDigits[{1, 0, 0, 0}, bases]
Out[5]=
Количество солдат в легионе.
In[6]:=
FromDigits[{1, 0, 0, 0, 0}, bases]
Out[6]=
Разложить количество солдат в данных тактических структурных подразделениях.
In[7]:=
IntegerDigits[16894, bases]
Out[7]=
In[8]:=
IntegerDigits[16894, bases];
Thread[units -> %]
Out[8]=