Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
思路:阿拉伯数字有个位,十位,百位,千位等等,找出罗马数字的计数单位,然后进行转换即可。
“I”, “IV”, “V”, “IX”, “X”, “XL”, “L”, “XC”, “C”, “CD”, “D”, “CM”, “M”
对应于
1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000
num 每除以一次intNum[i] 就加上相应的String[i]
public class Solution {
public String intToRoman(int num) {
String result = "";
String[] romanNum = { "I", "IV", "V", "IX", "X", "XL", "L", "XC", "C",
"CD", "D", "CM", "M" };
int[] intNum = { 1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000 };
int i = 12;
while (i >= 0) {
int q = num / intNum[i];
if (q <= 0) {
i--;
continue;
} else {
result = result + romanNum[i];
}
num = num - intNum[i];
}
return result;
}
}