Leonardo da Pisano alias Fibonacci war maßgeblich an der Einführung des hindu-arabischen Zahlensystems in Europa beteiligt. Davor arbeiteten dort Mathematiker in der Basis 60 mit römischen Ziffern.
Zum Beispiel könnte die Quadratwurzel von zwei wie folgt approximiert werden: ein und vierundzwanzig Teile von sechzig und einundfünfzig Teile von dreitausendsechshundert , und wie folgt geschrieben werden: i xxiv li , wobei die Skalierung durch den Kontext bestimmt wird. Zu dieser Zeit war „Nichts“ bekannt ( dh Null), hatte aber keine Standarddarstellung in diesem Zahlensystem.
Hätte Fibonacci diese neuen Nachkommastellen ignoriert, die er auf seinen Reisen angetroffen hatte, hätte er mit Sicherheit die Mängel des derzeitigen Systems behoben. Dieses verbesserte System nennen wir Fibonacci Sexagesimals .
Ihre Aufgabe ist es, ein Programm-, Funktions- oder Code-Snippet zu schreiben, das eine Gleitkommazahl im ASCII- oder Binärformat annimmt und in römischen Zahlen zur Basis 60 ausgibt. Die Eingabe kann eine Datei, eine Konsole, eine Befehlszeile oder ein Funktionsargument sein, und die Ausgabe kann eine Datei oder eine Konsole sein, je nachdem, was am einfachsten ist.
Die Ausgabe kann in Groß- oder Kleinschreibung erfolgen und muss die folgenden Verbesserungen enthalten:
- Verwenden Sie n oder N , um null anzugeben. Dies bedeutet, dass ein Ort keinen Wert hat, dh „null“ (ein Problem mit dem System).
- Verwenden Sie e oder E , um et anzugeben , das dem Sexagesimalpunkt entspricht (ein weiteres Problem mit dem System).
- Verwenden Sie einen mittleren Punkt · oder ein Sternchen *, um Gruppen von römischen Ziffern zu trennen (ein weiteres Problem mit dem System)
Angenommen, die Eingabe ist ein Gleitkommawert mit einer Mantisse, die nicht größer als lix · lix · lix · lix · lix ist . Brüche kleiner als n · e · n · n · n · n · i können ignoriert werden. Unter der Voraussetzung, dass die Eingabe diese Einschränkungen aufweist, können maximal zehn Gruppen von römischen Ziffern mit einem e ausgegeben werden.
Zahlen, die kleiner sind als ich, müssen ein führendes n · e haben, um sicherzustellen, dass der Kontext klar ist.
Einige Beispiele: input
→ Ausgabe
0
→ n1
→ i60
→ 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
Der Ausgang muss unnötige führende n · im Mantissenteil, isolierte e oder nachfolgende · n im Bruchteil des Ausgangs vermeiden . So sind beispielsweise n · n · n · n · i , i · e und i · e · n · n · n · n · n falsche Ausgaben für eine Eingabe von 1
.
Unterschiede von plus oder minus n · e · n · n · n · n · i in der Ausgabe liegen innerhalb der Toleranzen und sind akzeptabel.
Die Eingabe ist ein zulässiger Gleitkommawert in der Sprache Ihrer Wahl. Sie kann also positive oder negative Exponenten enthalten, sofern die Eingabe nicht außerhalb des oben angegebenen Bereichs liegt.
Und schließlich römische Ziffer Einbauten sind erlaubt!