zoukankan      html  css  js  c++  java
  • 12. Integer to Roman(C++)

    Given an integer, convert it to a roman numeral.

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

    Solution:

    以3999,为例:

    class Solution {
    public:
      string intToRoman(int num) {
        if(num<1||num>3999) return NULL;
        string str;
        while(num){
          if(num/1000!=0){
            for(int i=0;i<num/1000;i++) str+="M";
            num=num%1000;
          }else if(num/100!=0){
            int tmp=num/100;
            if(tmp%5==4){
              if(tmp/5==0){
                str+="C";str+="D";
              }else{  
                str+="C";str+="M";
              }
            }else{
              if(tmp/5!=0){
                str+="D";
              }
              for(int i=0;i<tmp%5;i++) str+="C";
            }
            num=num%100;
          }else if(num/10!=0){
            int tmp=num/10;
            if(tmp%5==4){
              if(tmp/5==0){
                str+="X";str+="L";
              }else{
                str+="X";str+="C";
              }
            }else{
              if(tmp/5!=0){
                str+="L";
              }
              for(int i=0;i<tmp%5;i++) str+="X";
            }
            num=num%10;
          }else{
            if(num%5==4){
              if(num/5==0){
                str+="I";str+="V";
              }else{
                str+="I";str+="X";
              }
            }else{
              if(num/5!=0){
                str+="V";
              }
              for(int i=0;i<num%5;i++) str+="I";
            }
            num=num%1;
          }
        }
        return str;
      }
    };

  • 相关阅读:
    Thinking in Java Reading Note(9.接口)
    Thinking in java Reading Note(8.多态)
    Thinking in Java Reading Note(7.复用类)
    SQL必知必会
    Thinking in Java Reading Note(5.初始化与清理)
    Thinking in Java Reading Note(2.一切都是对象)
    鸟哥的Linux私房菜笔记(1.基础)
    Thinking in Java Reading Note(1.对象导论)
    CoreJava2 Reading Note(2:I/O)
    CoreJava2 Reading Note(1:Stream)
  • 原文地址:https://www.cnblogs.com/devin-guwz/p/6495565.html
Copyright © 2011-2022 走看看