Леонардо да Пісано, який називався Фібоначчі, сприяв приведенню індуїстсько-арабської системи числення в Європу. До цього математики там працювали в шістдесят базових з римськими цифрами.
Наприклад, квадратний корінь з двох може бути наближений як: одна і двадцять чотири частини шістдесяти і п'ятдесяти однієї частини три тисячі шістсот , і записується як: i xxiv li , при цьому масштаб визначається контекстом. У той час «небуття» було відоме ( тобто нуль), але воно не мало стандартного представлення в цій системі числення.
Якби Фібоначчі ігнорував ці новомодні десяткові цифри, з якими він стикався під час своїх подорожей, він, безумовно, вирішив би недоліки в існуючій системі. Цю вдосконалену систему ми зателефонуємо сексосемаліями Фібоначчі .
Ваше завдання - написати програму, функцію або фрагмент коду, який приймає номер з плаваючою комою в ASCII або двійковому форматі і виводить основними шістдесят римськими цифрами. Вхід може бути файлом, консоллю, командним рядком або аргументом функції, а вихід може бути файловим або консольним, залежно від того, що простіше.
Вихід може мати верхній або нижній регістр і повинен включати ці вдосконалення:
- використовувати n або N для позначення нульового значення, яке місце не має значення, тобто "нуль" (проблема з системою)
- використовувати e або E для позначення et, що відповідає статевій точці (інша проблема з системою)
- використовуйте середню крапку · або зірочку *, щоб розділити групи римських цифр (ще одна проблема із системою)
Припустимо, що вхід буде плаваючою точкою з мантісса не більше ніж lix · lix · lix · lix · lix . Дроби, менші ніж n · e · n · n · n · n · i, можна ігнорувати. Отже, якщо вхід має ці обмеження, можна вивести не більше десяти груп римських цифр з одним e .
Число менше, ніж я, повинно мати провідне n · e, щоб забезпечити чіткий контекст.
Деякі приклади: input
→ вихід
0
→ н1
→ я60
→ i · n0.1
→ n · e · vi3600
→ i · n · n10.5
→ x · e · xxx16777215
→ i · 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 у виході знаходяться в межах допусків і прийнятні.
Вхід є будь-якою юридичною плаваючою точкою на обраній вами мові, тому може включати позитивні чи негативні показники, доки вхід не виходить за межі зазначеного вище діапазону.
І , нарешті, римська цифра Модульне будуть дозволені!