1. <mark id="s2zkv"><ol id="s2zkv"></ol></mark>
      <mark id="s2zkv"></mark>

        LeetCode #11 简单题(给定了范围,直接硬编码就好了。。)

        题目:整数转罗马数字

        题解:范围限定在0-3999,硬编码就好- -懒得想逻辑了

        class Solution {
        public:
            string intToRoman(int num) {
                int a = num / 1000;
                int b = (num / 100) % 10;
                int c = (num / 10) % 10;
                int d = num % 10;
                string ans;
                for (int i = 0; i < a; ++i)ans = ans + "M";
                if (b == 9)ans = ans + "CM";
                else if (b == 8)ans = ans + "DCCC";
                else if (b == 7)ans = ans + "DCC";
                else if (b == 6)ans = ans + "DC";
                else if (b == 5)ans = ans + "D";
                else if (b == 4)ans = ans + "CD";
                else if (b == 3)ans = ans + "CCC";
                else if (b == 2)ans = ans + "CC";
                else if (b == 1)ans = ans + "C";
        
                if (c == 9)ans = ans + "XC";
                else if (c == 8)ans = ans + "LXXX";
                else if (c == 7)ans = ans + "LXX";
                else if (c == 6)ans = ans + "LX";
                else if (c == 5)ans = ans + "L";
                else if (c == 4)ans = ans + "XL";
                else if (c == 3)ans = ans + "XXX";
                else if (c == 2)ans = ans + "XX";
                else if (c == 1)ans = ans + "X";
        
                if (d == 9)ans = ans + "IX";
                else if (d == 8)ans = ans + "VIII";
                else if (d == 7)ans = ans + "VII";
                else if (d == 6)ans = ans + "VI";
                else if (d == 5)ans = ans + "V";
                else if (d == 4)ans = ans + "IV";
                else if (d == 3)ans = ans + "III";
                else if (d == 2)ans = ans + "II";
                else if (d == 1)ans = ans + "I";
        
                return ans;
            }
        };
        相关文章
        相关标签/搜索
        最准三码中特2020年香港六合马会开奖结果现场直播开奖历史资料记录在线查询网二四六天天好彩免费资料大全