前端學習筆記程序员Web前端之路

FreeCodeCamp筆記之:Roman Numeral Co

2017-09-29  本文已影响14人  delphuy

题目

将给定的数字转换成罗马数字。
所有返回的 罗马数字都应该是大写形式。
如果你被难住了,记得使用 Read-Search-Ask尝试与他人结伴编程、编写你自己的代码。
这是一些对你有帮助的资源:
Roman Numerals
Array.splice()
Array.indexOf()
Array.join()

function convert(num) {
 return num;
}
convert(36);

思路

1.png 2.png
    var arb = [1000,900,500,400,100,90,50,40,10,9,5,4,1];
    var rom = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"];
  var str ="";`

解答

function convert(num){
  var arb = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
  var rom = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"];
  var str = "";
  var i = 0;
  while (num > 0) {
    if (num < arb[i]) {
        i++;
    } else {
        str += rom[i];
        num -= arb[i];
    }
}
return str;
}
convert(36);
上一篇 下一篇

猜你喜欢

热点阅读