将整数转换成罗马数字的 JavaScript 算法
假设我们需要编写一个函数,比如 intToRoman(),顾名思义,它返回作为参数的数字的罗马语版本。
让我们编写此函数的代码 −
示例
const intToRoman = (num) => { let result = ""; while(num){ if(num>=1000){ result += "M"; num -= 1000; }else if(num>=500){ if(num>=900){ result += "CM"; num -= 900; }else{ result += "D"; num -= 500; } }else if(num>=100){ if(num>=400){ result += "CD"; num -= 400; }else{ result += "C"; num -= 100; } }else if(num>=50){ if(num>=90){ result += "XC"; num -= 90; }else{ result += "L"; num -= 50; } }else if(num>=10){ if(num>=40){ result += "XL"; num -= 40; }else{ result += "X"; num -= 10; } }else if(num>=5){ if(num>=9){ result += "IX"; num -= 9; }else{ result += "V"; num -= 5; } }else{ if(num>=4){ result += "IV"; num -= 4; }else{ result += "I"; num -= 1; } } } return result; }; console.log(intToRoman(178)); console.log(intToRoman(89)); console.log(intToRoman(55)); console.log(intToRoman(1555));
输出
此代码在控制台的输出为 −
CLXXVIII LXXXIX LV MDLV
广告