将给定的数字转换成罗马数字。
所有返回的 罗马数字 都应该是大写形式。
function convert(num) { //此算法仅限定在1~3999之间
var roman = '';
var Ro = ['M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I']; //枚举几个特殊的数值,包括7个基础字母和6个4,9开头的特殊符号
var Nu = [1000,900,500,400,100,90,50,40,10,9,5,4,1]; //枚举几个特殊的数值,与上对应
for(var i = 0;i < Nu.length;i++){ //先遍历Nu数组的每一个数
while(num >= Nu[i]){ //然后再进行一个个对比,只要num大于Nu数组里的数,就保持while循环
roman += Ro[i]; //罗马数字加上对应的字母
num -= Nu[i]; //阿拉伯数字减去对应的数字
}
}
return roman;
}
convert(4);