ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-01-28 16:02:29  阅读:158  来源: 互联网

标签:int 12 python Solution value valueSymbles Roman num c++


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有