[Codewars]-Roman Numerals Encoder
2018-03-23 20:52
465 查看
[Codewars]-Roman Numerals Encoder
题目:
阿拉伯数字转罗马数字给个对应表
symbol | value |
---|---|
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 1000 |
思路:
按照题目,把数字分成几千几百几十很好转换,唯一问题是代码长不美观。解答:
这不是本人答案,但这是我见过最简洁的答案了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; }
相关文章推荐
- 【codewars】Roman Numerals Encoder
- 【Codewars】Roman Numerals Encoder 正整数转罗马数字
- Rust: codewars的Roman Numerals Encoder
- Project Euler:Problem 89 Roman numerals
- 1002 Roman numerals
- Checkio: Roman numerals
- UVa 185 - Roman Numerals
- Roman numerals 解题报告
- Project Euler:Problem 89 Roman numerals
- uva 185 Roman Numerals
- Project Euler 89:Roman numerals 罗马数字
- Rust: codewars 的Duplicate Encoder
- UVA 185 Roman Numerals
- BIT寒假练习-2013__1002:Roman numerals
- uva :185 - Roman Numerals(dfs)
- uva 185 Roman Numerals (深搜+字符串处理)
- Roman Numerals ---解题报告
- Roman numerals/Encode - Rosetta Code
- POJ 1213 Roman Numerals 笔记
- UVa 185 - Roman Numerals