12. 整数转罗马数字(c++/python)

12. 整数转罗马数字(c++/python)
12. 整数转罗马数字(c++/python)
12. 整数转罗马数字(c++/python)
12. 整数转罗马数字(c++/python)
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)
上一篇:Excel如何进行多行多列条件求和


下一篇:echarts实现多折线