Леонардо да Пизано, он же Фибоначчи, сыграл важную роль в распространении индуистско-арабской системы счисления в Европе. До этого там математики работали в базе шестидесяти с римскими цифрами.
Например, квадратный корень из двух может быть аппроксимирован как: одна и двадцать четыре части по шестьдесят и пятьдесят одна часть по три тысячи шестьсот и записан как: i xxiv li , с масштабированием, определяемым контекстом. В то время «ничто» было известно ( то есть ноль), но не имело стандартного представления в этой системе счисления.
Если бы Фибоначчи проигнорировал эти новомодные десятичные цифры, с которыми он столкнулся во время своих путешествий, он, несомненно, исправил бы недостатки существующей системы. Эту улучшенную систему мы назовем шестигранными числами Фибоначчи .
Ваша задача - написать программу, функцию или фрагмент кода, который принимает число с плавающей запятой в ASCII или двоичном формате и выводит его из шестидесяти римских цифр. Входными данными может быть файл, консоль, командная строка или аргумент функции, а выходные данные могут быть файловыми или консольными, в зависимости от того, что проще всего.
Выходные данные могут быть в верхнем или нижнем регистре и должны включать следующие улучшения:
- использовать п или N , чтобы указать нуль означает место , не имеет значения, то есть «ноль» (проблема с системой)
- используйте e или E для обозначения et, соответствующего сексуальной точке (другая проблема с системой)
- используйте среднюю точку · или звездочку * для разделения групп римских цифр (еще одна проблема с системой)
Предположим, что ввод будет с плавающей точкой с мантиссой не больше, чем lix · lix · lix · lix · lix . Фракции, меньшие чем n · e · n · n · n · n · i, можно игнорировать. Таким образом, при условии, что ввод имеет эти ограничения, можно вывести не более десяти групп римских цифр с одним знаком e .
Числа, меньшие, чем я, должны иметь начальное n, чтобы гарантировать ясность контекста.
Некоторые примеры: input
→ вывод
0
→ п1
→ я60
→ я · н0.1
→ n · e · vi3600
→ i · n · n10.5
→ x · e · xxx16777215
→ я · xvii · xl · xx · xv3.1415926536
→ iii · e · viii · xxix · xliv · n · xlvii
Выходные данные должны избегать ненужного начального n · в части мантиссы, изолированной e или конечного · n в дробной части выхода. Так, например, n · n · n · n · i , i · e и i · e · n · n · n · n · n являются неправильными выходами для входа 1
.
Различия плюс или минус n · e · n · n · n · n · i в выходных данных находятся в пределах допуска и допустимы.
Входными данными являются любые допустимые значения с плавающей запятой на выбранном вами языке, поэтому они могут включать положительные или отрицательные показатели, если входные данные не выходят за пределы указанного выше диапазона.
И , наконец, римская цифра Модульное будут разрешены!