https://leetcode.com/problems/integer-to-roman/submissions/

using namespace std;
class Solution {
public:
    string reps="IVXLCDM";
    
    string itor(int k,int l){
        switch(k){
            case 0: 
            case 1: 
            case 2: 
            case 3: return string(k,reps[l]);
            case 4: return reps[l]+string(1,reps[l+1]);
            case 5: return string(1,reps[l+1]);
            case 6: 
            case 7:
            case 8: return reps[l+1]+string((k%5),reps[l]);
            case 9: return reps[l]+string(1,reps[l+2]);
        }
        return "";
    }
    string intToRoman(int num) {
        string ans;
        ans+=itor(num/1000,6),num%=1000;
        ans+=itor(num/100,4),num%=100;
        ans+=itor(num/10,2),num%=10;
        ans+=itor(num,0);
        return ans;
    }
};
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。