Roman Numeral Converter-freecodecamp算法题目

Roman Numeral Converter


1.要求

  • 将给定的数字转换成罗马数字
  • 所有返回的罗马数字都应该是大写形式

2.思路

  • 分别定义个位、十位、百位、千位的对应罗马数字的数组
  • 用Math.floor()取出数字的各个位上的数字,在之前定义的数组找到对应罗马数字加在一起即可

3.代码

function convert(num) {
var arr1 = ['','I','II','III','IV','V','VI','VII','VIII','IX'];
var arr10 = ['','X','XX','XXX','XL','L','LX','LXX','LXXX','XC'];
var arr100 = ['','C','CC','CCC','CD','D','DC','DCC','DCCC','CM'];
var arr1000 = ['','M','MM','MMM'];
num = arr1000[Math.floor(num/1000)]+arr100[Math.floor(num%1000/100)]+arr10[Math.floor(num%100/10)]+arr1[Math.floor(num%10)];
return num;
}
convert(36);

4.相关链接

猜你喜欢

转载自www.cnblogs.com/ahswch/p/9297890.html