博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Integer to Roman 解题报告
阅读量:6639 次
发布时间:2019-06-25

本文共 1453 字,大约阅读时间需要 4 分钟。

Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
[解题思路]
这道题主要就在于如何处理每一位digit,并且按照区间不同处理:
1<=digit <=3
digit =4
digit = 5
5<digit<=8
digit =9
[Code]
1:  string intToRoman(int num) {  2:      // Start typing your C/C++ solution below  3:      // DO NOT write int main() function    4:      char symbol[7] = { 'I','V','X', 'L','C', 'D','M'};  5:      string roman;  6:      int scale = 1000;  7:      for(int i =6; i>=0; i-=2)  8:      {  9:        int digit = num/scale;  10:        if(digit != 0)  11:        {        12:          if(digit <= 3)  13:          {  14:            roman.append(digit, symbol[i]);  15:          }  16:          else if(digit ==4)  17:          {  18:            roman.append(1, symbol[i]);  19:            roman.append(1, symbol[i+1]);  20:          }  21:          else if(digit ==5)  22:          {  23:            roman.append(1, symbol[i+1]);  24:          }  25:          else if(digit <=8)  26:          {  27:            roman.append(1, symbol[i+1]);  28:            roman.append(digit-5, symbol[i]);  29:          }  30:          else if(digit ==9)  31:          {  32:            roman.append(1, symbol[i]);  33:            roman.append(1, symbol[i+2]);  34:          }  35:        }  36:        num = num%scale;  37:        scale/=10;        38:      }  39:      return roman;  40:    }

转载于:https://www.cnblogs.com/codingtmd/archive/2012/12/23/5079002.html

你可能感兴趣的文章
C 侵入式数据结构
查看>>
kolla-ansible部署openstack的ocata(附带的命令shell脚本)
查看>>
storyboard 可以用于很多方面
查看>>
android 捕捉 异常 崩溃 捕捉 crash
查看>>
h引用(数组中有h个数大于等于h,其余小于)H-Index
查看>>
加密证书介绍
查看>>
怎么解决挑选装潢材料挑花眼的问题?
查看>>
redis_windows配置
查看>>
Linux部分配置信息
查看>>
PWM
查看>>
SDWebImage源码解析
查看>>
排序算法 之 插入排序
查看>>
排序算法 之 直接选择排序
查看>>
缓存算法
查看>>
MySQL日志中Communication Errors and Aborted Connec...
查看>>
Dedecms的tplcache文件夹是什么,Dedecms的tplcache文件夹有什么用,Dedecms的tplcache文件夹可以删除吗...
查看>>
慎用Linux find命令
查看>>
大神教你JVM运行原理及Stack和Heap的实现过程
查看>>
AVPlayer 示例 添加附加功能(二)
查看>>
linker-to-linker-with-namerd 部署 dcos
查看>>