这道题主要难点是罗马数字的知识,因为公司的编程竞赛中有一个相似的问题,所以翻出来看了看,顺便借用了里面的两个数组,因为之前的程序是Java,所以就用Java实现了这道题,感觉Eclipse还是比Visual Studio好用一些。这道题也是一次通过。
public class Solution {
public String intToRoman(int num) {
final String[] Roman = { "M", "CM", "D", "CD", "C", "XC", "L", "XL",
"X", "IX", "V", "IV", "I" };
final int[] Value = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5,
4, 1 };
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 13; ++i) {
int x = num / Value[i];
num = num - x * Value[i];
while (x-- > 0) {
sb.append(Roman[i]);
}
}
return sb.toString();
}
}