码迷,mamicode.com
首页 > 其他好文 > 详细

Integer to Roman

时间:2015-04-18 21:50:49      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

/*
    题意:把阿拉伯数字转换成罗马数字
    解法:直接暴力枚举了。
*/
class Solution {
public:
    int power(int k){
        int res = 1;
        for(int i = 0 ; i < k ; i++) res*=10;
        return res;
    }
    string intToRoman(int num) {
        string ans = "";int k = 0;
        while(num){
            int temp = (num%10)*power(k);k++;
            num/=10;
            string cur = "";
            while(temp){
                if(temp<4){
                    cur= cur+I ;temp-=1;
                }else if(temp == 4){
                    cur = cur+"IV";temp-=4;
                }else if(temp <9){
                    cur = cur+V;temp-=5;
                }else if(temp <10){
                    cur = cur+"IX";temp-=9;
                }else if(temp <40){
                    cur = cur+X ; temp-=10;
                }else if(temp <50){
                    cur = cur+"XL";temp-=40;
                }else if(temp <90){
                    cur = cur+L;temp-=50;
                }else if(temp<100){
                    cur = cur+"XC";temp-=90;
                }else if(temp<400){
                    cur = cur+C;temp-=100;
                }else if(temp<500){
                    cur = cur+"CD";temp-=400;
                }else if(temp<900){
                    cur = cur+D;temp-=500;
                }else if(temp<1000){
                    cur = cur+"CM";temp-=900;
                }else {
                    cur = cur+M;temp-=1000;
                }
            }
             ans = cur+ans;
        }
        return ans;
    }
};

 

Integer to Roman

标签:

原文地址:http://www.cnblogs.com/llei1573/p/4438080.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!