12. 整数转罗马数字(c++/python)
作者:互联网
c++:
const pair<int,string> valueSymbles[] = {
{1000,"M"},
{900,"CM"},
{500,"D"},
{400,"CD"},
{100,"C"},
{90,"XC"},
{50,"L"},
{40,"XL"},
{10,"X"},
{9,"IX"},
{5,"V"},
{4,"IV"},
{1,"I"},
};
class Solution {
public:
string intToRoman(int num) {
string Roman;
for(const auto &[value,Symble] : valueSymbles){
while(num >= value){
num -= value;
Roman += Symble;
}
if(num == 0){
break;
}
}
return Roman;
}
};
python:
class Solution:
valueSymbles = [
(1000,"M"),
(900,"CM"),
(500,"D"),
(400,"CD"),
(100,"C"),
(90,"XC"),
(50,"L"),
(40,"XL"),
(10,"X"),
(9,"IX"),
(5,"V"),
(4,"IV"),
(1,"I"),]
def intToRoman(self, num: int) -> str:
Roman = []
for value,symble in Solution.valueSymbles:
while num >= value:
num = num - value
Roman.append(symble)
if num == 0:
break
return "".join(Roman)
标签:int,12,python,Solution,value,valueSymbles,Roman,num,c++ 来源: https://blog.csdn.net/qq_36421001/article/details/122732271