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

lintcode 418整数转罗马数字

时间:2017-08-12 00:32:19      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:调用   tps   error   pre   present   baidu   code   ges   blog   

描述

给定一个整数,将其转换成罗马数字。

返回的结果要求在1-3999的范围内。

说明

样例

技术分享

思路


while循环拆分调用,用字符串显示最终的罗马数字。代码:

class Solution {
public:
    /**
     * @param n The integer
     * @return Roman representation
     */
    string intToRoman(int n) {
        // Write your code here
        if(n<1 || n>3999)
            return "ERROR";
        string  s=(4,0);
        while(n>=1000){
            s += "M";
            n -= 1000;
        }
        while(n >= 900){
            s += "CM";
            n -= 900;
        }
        while( n>= 500){
            s += "D";
            n -= 500;
        }
        while( n>= 400){
            s += "CD";
            n -= 400;
        }
        while( n >= 100){
            s += "C";
            n -= 100;
        }
        while( n>= 90){
            s += "XC";
            n -= 90;
        }
        while( n>= 50){
            s += "L";
            n -= 50;
        }
        while( n >= 40){
            s += "XL";
            n -= 40;
        }
        while( n>= 10){
            s += "X";
            n -= 10;
        }
        while( n>= 9){
            s +="IX";
            n -= 9;
        }
        while( n>=5 ){
            s += "V";
            n -= 5;
        }
        while( n >= 4 ){
            s +="IV";
            n -= 4;
        }
        while(n >= 1 ){
            s +="I";
            n -= 1;
        }
        return s;
    }
};

 

lintcode 418整数转罗马数字

标签:调用   tps   error   pre   present   baidu   code   ges   blog   

原文地址:http://www.cnblogs.com/li1400802003/p/7348439.html

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