leetcode 12.整数转罗马数字 无脑版代码

/*
 * @lc app=leetcode.cn id=12 lang=cpp
 *
 * [12] 整数转罗马数字
 */

// @lc code=start
#include <iostream>
using namespace std;
class Solution
{
public:
    string r;
    string intToRoman(int &num)
    {
        while (num > 0)
        {
            if (num >= 1000)
            {
                r += 'M';
                num -= 1000;
            }
            else if (num >= 900)
            {
                r += "CM";
                num -= 900;
            }
            else if (num >= 500)
            {
                r += 'D';
                num -= 500;
            }
            else if (num >= 400)
            {
                r += "CD";
                num -= 400;
            }
            else if (num >= 100)
            {
                r += 'C';
                num -= 100;
            }
            else if (num >= 90)
            {
                r += "XC";
                num -= 90;
            }
            else if (num >= 50)
            {
                r += 'L';
                num -= 50;
            }
            else if (num >= 40)
            {
                r += "XL";
                num -= 40;
            }
            else if (num >= 10)
            {
                r += 'X';
                num -= 10;
            }
            else if (num >= 9)
            {
                r += "IX";
                num -= 9;
            }
            else if (num >= 5)
            {
                r += 'V';
                num -= 5;
            }
            else if (num >= 4)
            {
                r += "IV";
                num -= 4;
            }
            else
            {
                r += 'I';
                num -= 1;
            }
        }
        return r;
    }
};
// @lc code=end

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注