莱昂纳多·达·皮萨诺( Leonardo da Pisano)又名斐波那契( Fibonacci)在将印度-阿拉伯数字系统引入欧洲方面发挥了作用。在此之前,那里的数学家使用罗马数字以60为底数。
例如,两个的平方根可以近似为:一和二十四分之六十和五十一分之三千六百六十,写为:i xxiv li,其缩放比例取决于上下文。当时,“虚无”是已知的(即零),但在此数字系统中没有标准表示形式。
如果斐波那契忽略了他在旅途中遇到的这些新的十进制数字,他肯定会解决当前系统中的缺陷。这个改进的系统称为斐波那契(Fibonacci)的sexagesimals。
您的任务是编写一个程序,函数或代码片段,该片段采用ASCII或二进制格式的浮点数,并以60个基数罗马数字输出。输入可以是文件,控制台,命令行或函数参数,输出可以是文件或控制台,以最简单的为准。
输出可以是大写或小写,并且必须包括以下改进:
- 使用n或N表示空值,表示某个地点没有值,即 “零”(系统存在问题)
- 使用ë或ë以指示等对应于所述六十进制点(与系统的另一个问题)
- 使用中间的点·或星号*分隔罗马数字组(但系统还有另一个问题)
假设输入将是浮点数,尾数不大于lix·lix·lix·lix·lix。小于n·e·n·n·n·n·i的分数可以忽略。因此,如果输入具有这些限制,则最多可以输出十组带有一个e的罗马数字。
小于i的数字必须以n开头,以确保上下文清晰。
一些示例:input
→ 输出
0
→ n1
→ 我60
→ 我0.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的差在允许范围内且可以接受。
输入是您选择的语言中的任何合法浮点,因此只要输入不超出上述指定范围,就可以包含正或负指数。
最后,罗马数字内置插件是不允许的!