Java
public class Solution {
public String intToRoman(int num) {
int[] radix = {1000, 900, 500, 400, 100, 90,50, 40, 10, 9, 5, 4, 1};
String[] symbol = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
String res = "";
for(int i=0; num>0; i++){
int count = num/radix[i];
num = num%radix[i];
for(;count>0;count--) res = res+symbol[i];
}
return res;
}
}
Python
class Solution(object):
def intToRoman(self, num):
"""
:type num: int
:rtype: str
"""
radix = [1000, 900, 500, 400, 100, 90,50, 40, 10, 9, 5, 4, 1]
symbol = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]
result=""
for i in range(len(radix)):
while num>=radix[i]:
result+=symbol[i]
num-=radix[i]
return result