[leetcode] 12. 整数转罗马数字

Posted ACBingo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode] 12. 整数转罗马数字相关的知识,希望对你有一定的参考价值。

12. 整数转罗马数字

字符串处理,题超级简单,读懂题直接开干就行。
基本思路就是从大往小一点一点的来表示,具体看代码把:

class Solution {
public:
    string intToRoman(int num) {
        string ans = "";

        int m = 0;
        m = num / 1000;
        for (int i = 0; i < m; i++) {
            ans += ‘M‘;
        }
        num %= 1000;

        if (num >= 900) {
            ans += "CM";
            num -= 900;
        }
        if (num >= 500) {
            ans += "D";
            num -= 500;
        }
        if (num >= 400) {
            ans += "CD";
            num -= 400;
        }
        if (num >= 100) {
            int c = 0;
            c = num / 100;
            num %= 100;
            for (int i = 0; i < c; i++) {
                ans += ‘C‘;
            }
        }
        if (num >= 90) {
            ans += "XC";
            num -= 90;
        }
        if (num >= 50) {
            ans += "L";
            num -= 50;
        }
        if (num >= 40) {
            ans += "XL";
            num -= 40;
        }
        if (num >= 10) {
            int x = 0;
            x = num / 10;
            num %= 10;
            for (int i = 0; i < x; i++) {
                ans += ‘X‘;
            }
        }

        if (num >= 9) {
            ans += "IX";
            num -= 9;
        }
        if (num >= 5) {
            ans += "V";
            num -= 5;
        }
        if (num >= 4) {
            ans += "IV";
            num -= 4;
        }
        if (num >= 1) {
            int i = 0;
            i = num;
            for (int k = 0; k < i; k++) {
                ans += ‘I‘;
            }
        }

        return ans;
    }
};

以上是关于[leetcode] 12. 整数转罗马数字的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode12. 整数转罗马数字(贪心)

LeetCode 12 - 整数转罗马数字 - [简单模拟]

leetcode 12.整数转罗马数字

leetcode 12.整数转罗马数字

leetcode 12.整数转罗马数字

leetcode 12.整数转罗马数字