当前位置: 首页 > 工具软件 > romannumerals > 使用案例 >

checkio Roman numerals

窦夜洛
2023-12-01

Roman numerals
题目:
基本的罗马数字表示规则
The first ten Roman numerals are:
I, II, III, IV, V, VI, VII, VIII, IX, and X.
Numeral Value
I 1 (unus)
V 5 (quinque)
X 10 (decem)
L 50 (quinquaginta)
C 100 (centum)
D 500 (quingenti)
M 1,000 (mille)

目标:Precondition: 0 < number < 4000
表示0~4000数字的罗数字

思路:因为从1到3是叠加,5到9也是右侧叠加1,所以将标志段的数字 1,4,5,9,10,40,50…1000表示出来,任意给一个数字后,拆分成标志段数字的叠加

插入代码:
def checkio(data):
t = data
d = { 1000 : ‘M’, 900 : ‘CM’, 500 : ‘D’, 400 : ‘CD’,
100 : ‘C’, 90 : ‘XC’, 50 : ‘L’, 40: ‘XL’,
10 : ‘X’, 9 : ‘IX’, 5 : ‘V’, 4: ‘IV’, 1 : ‘I’ }
k = sorted(d, reverse =True)
rr = ‘’
for i in k:
while t >= i:
rr += d[i]
t -= i
return rr

 类似资料:

相关阅读

相关文章

相关问答