RomanNumeralsEncoder题解:阿拉伯数字转罗马数字 给个对应表
程序员文章站
2022-04-23 19:33:36
[Codewars]-Roman Numerals Encoder
题目:
阿拉伯数字转罗马数字 给个对应表
symbol
value...
[Codewars]-Roman Numerals Encoder
题目:
阿拉伯数字转罗马数字 给个对应表
symbol | value |
---|---|
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 1000 |
- 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; }
上一篇: SQL中常用日期函数
下一篇: Mysql之索引