您的位置:首页 > 其它

[Codewars]-Roman Numerals Encoder

2018-03-23 20:52 465 查看

[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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: