12. Integer to Roman

題目連接:https://leetcode.com/problems/integer-to-roman/code

Given an integer, convert it to a roman numeral.leetcode

Input is guaranteed to be within the range from 1 to 3999.string

 

class Solution {
public:
    string intToRoman(int num) {
        int n[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
        string r[] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
        string res="";
        for(int i=0;num>0;num = num%n[i],i++) // 肯定是哪一個
            for(int j=0,k=num/n[i];j<k;j++) //肯定有幾個
                res += r[i];
        return res;
    }
    
};
相關文章
相關標籤/搜索