输入:
一个整数。
输出:
- 首先将整数转换为等效的罗马数字。
- 然后,将该罗马数字的每个大写字母转换为其ASCII / UNICODE十进制值。
- 并输出这些总和。
例:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
罗马数字:
这是一个可能有用的罗马数字转换器。
挑战规则:
- 标准的罗马数字规则适用,因此没有其他替代形式
IIII
或VIIII
替代IV
和IX
*。 - 罗马数字超过1000的马克龙线是
¯
(UNICODE nr。175)。因此,一线算作+175
,两线算作+350
。 - 您可以使用任何类型的输入和输出类型,只要它代表整数即可。
- 测试用例将在
1 - 2,147,483,647
。
*罗马数字规则(引自维基百科):
数字是通过组合符号并加上值而形成的,所以
II
两个(两个)和XIII
十三(一个十和三个)也是如此。因为每个数字都有一个固定值,而不是代表10、100等的倍数,所以根据位置,不需要像207或1066这样的“位置保持”零。这些数字写成CCVII
(两百,五和二)和MLXVI
(一千,五十,十,五和一)。符号从左到右按值的顺序排列,从最大开始。但是,在某些特定情况下,为避免连续重复四个字符(例如
IIII
或XXXX
),通常按如下方式使用减法表示法:
I
放在前面V
或X
表示少一,所以四是IV
(一小于五)而九是IX
(一小于十)X
放在前面L
或C
表示减去十,所以四十是XL
(十小于五十),九十是XC
(十小于一百)C
放在前面D
或M
表示少一百个,因此四百个CD
(一百个小于五百)和九百个CM
(一百个小于一千)
例如,MCMIV
一千零九十四个,1904年(M
一千个,CM
是九百零四IV
)。现代使用罗马数字的一些例子包括:
1954年为MCMLIV
;1990年为MCMXC
; 2014年作为MMXIV
SOURCE
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 - 适用标准规则于您的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法,完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,如有必要,请添加说明。
测试用例:
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999
- > M(X)CMXCIX
- > 77+263+67+77+88+67+73+88
- > 800
和2147483647
- > ((MMCXLV)MMCDLXXX)MMMDCXLVII
- > 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73
- > 5362
。因此,我已经纠正了第二个问题,但是9999
正确。
2222222222
不在给定范围内。我也同意5362
。