将给定的数字转换成罗马数字。

所有返回的 罗马数字 都应该是大写形式。

思路:

是将1,10,40,50等等分割数输入到一个数组中,用另一个数组记录相对应的罗马字符。
从最大的数字开始遍历,如果num大于当前数,则减去当前数,继续进入循环。字符串则加上对应的罗马字符。

代码:

<script type="text/javascript">
	function convert(num) {
		var numArr = [1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000];
		var strArr = ["I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"];
		var result = '';
		var i = numArr.length;
		// console.log(i);
		while (i >= 0) {
			if (num >= numArr[i]) {
				result += strArr[i];
				num -= numArr[i];
			} else {
				i--;
			}
		}

		return result;
	}
	
	document.write(convert(1));
</script>