Integer to Roman
来源:互联网 发布:pc访问mac共享文件夹 编辑:程序博客网 时间:2024/04/30 09:31
题意:将整数转换为罗马数字
思路:罗马数字表示方式和整数有很大区别,其中,
I: 1
IV: 4
V: 5
IX: 9
X: 10
XL: 40
L: 50
XC: 90
C: 100
CD: 400
D: 500
CM: 900
M: 1000。
这是罗马数字的一个组合情况,任意字符出现次数不能超过三次,以数字3978为例,涉及到的还是一个/和%的运算。
s = 3978
3978/1000 = 3: MMM
978>(1000-100), 998/900 = 1: CM
78<(100-10), 78/50 = 1 :L
28<(50-10), 28/10 = XX
8<(100-1), 8/5 = 1: V
3<(5-1), 3/1 = 3: III
再进行拼接,就得到3978的罗马数字表示是MMMCMLXXVIII。
代码:
public class IntegerToRoman { public String Roman(int num){ String[] RomanNum = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; int[] IntegerNum = {1000,900,500,400,100,90,50,40,10,9,5,4,1}; StringBuilder sb = new StringBuilder(); for(int i = 0 ; i < 13 ; i++){ if(num >= IntegerNum[i]){ int count = num / IntegerNum[i]; num = num % IntegerNum[i]; for(int j = 0 ; j < count ; j++){ sb.append(RomanNum[i]); } } } return sb.toString(); }
0 0
- Integer to Roman & Roman to Integer
- Integer to Roman & Roman to Integer
- LeetCode Roman to Integer && Integer to Roman
- 【leetcode】Roman to Integer | Integer to Roman
- Leetcode - "Roman to Integer" & "Integer to Roman"
- LeetCode:Roman to Integer,Integer to Roman
- Integer to Roman and Roman to Integer
- LeetCode Integer to Roman & Roman to Integer
- Roman to Integer/Integer to Roman
- leetcode - roman to integer & integer to roman
- "Roman to Integer" and "Integer to Roman"
- Roman to Integer &&Integer to Roman
- Roman to Integer and Integer to Roman
- Roman to Integer/Integer to Roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- Android新手入门思维导图
- Python 进阶_OOP 面向对象编程_类和继承
- 拷贝构造函数/重载赋值运算符
- Linux中find常见用法示例
- hdu4764 Stone 巴什博弈
- Integer to Roman
- 新手报到。
- Java中的观察者模式(Observer Pattern)学习
- eclipse构建maven project 的web项目,不勾选Create a simple project 。 < =2= >
- String.format()用法
- linux中一切皆文件, 一切文件皆二进制
- ajax无法跨域调用接口
- 解决了中文乱码的http的get和post请求demo
- linux 设置日志编码