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;
      }
    };

  • 相关阅读:
    cs11_c++_lab4a
    cs11_c++_lab3
    cs11_c++_lab2
    cs11_c++_lab1
    Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)
    无备份恢复(归档模式)
    rman datafile恢复(归档模式)
    GHOST(幽灵)重大漏洞
    Windows Linux 之间rsync同步CODE文件
    Centos 6.5 SNMP客户端安装及配置版本net-snmp-5.7.3
  • 原文地址:https://www.cnblogs.com/devin-guwz/p/6495565.html
Copyright © 2011-2022 走看看