Integer to Roman
2015-07-25 14:42
225 查看
Integer to Roman
Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.
备注:只要弄明白roman numeral, 这个题不算难,自己出现的
主要问题是在命名方面,注意:尽量少使用无法定义含义的名称,因为
后面很容易出现变量复用(i,j,k之类),这类的隐形错误使结果不正确,却又
难以发现原因。
class Solution { public: string intToRoman(int num) { int len = 1000; string s = ""; int n = num/len; int i ; for(i = 0;i< n;++i) s = s+"M"; num = num - n*len; len/=10; n = num/len; i = 0; string str[] = {"CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; while(true) { if(n > 0) { if(9 == n) s = s+str[i]; else if(4 == n) s = s+str[i+2]; else if(n >0 && n <4) { for(int k = 0;k < n;++k) s = s+str[i+3]; } else if(n > 4 && n < 9) { int j = n-5; if(j == 0) s = s+str[i+1]; else { s = s+str[i+1]; while(j > 0) { s = s+str[i+3]; --j; } } } } i = i+4; if(i > 11)break; num = num-n*len; len/=10; if(len > 0) n = num/len; } return s; } };
相关文章推荐
- Vector、ArrayList和Hashtable、HashMap数据结构(转)
- Linux 系统命令及其使用详解(大全)
- 字符在转换为ISO-8859-1字符集时可能会遭到破坏
- Android实现List<String>存储到SharedPreferences工具类
- 实习工作面试常问问题
- 项目中的连接本地服务器以及JSON解析
- sphinx 的问题整理
- 单例模式singleton
- Python中Django框架利用url来控制登录的方法
- mysql之replication配置
- linux crontab命令
- maven 发布 web 项目(分别使用 Jetty 和 Tomcat 作为容器)
- atan和atan2
- 自定义状态栏
- 【多路复用】I/O多路复用
- LeetCode -- house robber
- openCV—Python(2)—— 加载、显示和保存图像
- 设计模式_访问者模式
- 【Android】利用安卓的数据接口、多媒体处理编写内存卡Mp3播放器app
- 妥协的战争