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

[Codewars]-Roman Numerals Encoder

焦光霁
2023-12-01

[Codewars]-Roman Numerals Encoder

题目:

  • 阿拉伯数字转罗马数字
  • 给个对应表
symbolvalue
I1
V5
X10
L50
C100
D500
M1000

- ps:2000 -> MM,8000 -> MMMMMMMM

思路:

  • 按照题目,把数字分成几千几百几十很好转换,唯一问题是代码长不美观。

解答:

  • 这不是本人答案,但这是我见过最简洁的答案了
function solution(number){
  // convert the number to a roman numeral
var  roman = {M:1000,CM:900, D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1 }

var ans = '';
while(number>0){
    for(a in roman){ 
        if(roman[a]<=number){ ans += a; number-=roman[a]; break;}

    }
}
return ans;
}

相关阅读

相关文章

相关问答