-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIntegerToRoman.java
More file actions
82 lines (77 loc) · 2.37 KB
/
IntegerToRoman.java
File metadata and controls
82 lines (77 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
public class IntegerToRoman {
public static void main(String args[]){
int num=3999;
int quo=0,rem=0;
String s="";
while(num>0){
if((int)(Math.log10(num)+1 )== 4){
quo = num/1000;
s = s + "M".repeat(quo);
num = num%1000;
}
else if((int)(Math.log10(num)+1 ) == 3){
quo = num/100;
if(quo>5 && quo<9){
rem = quo%5;
s = s + "D"+"C".repeat(rem);
}
else if(quo<4){
s = s + "C".repeat(quo);
}
else if(quo == 4){
s = s + "CD";
}
else if(quo == 9){
s = s+"CM";
}
else if(quo == 5){
s = s+"D";
}
num = num%100;
// System.out.print("hi");
}
else if((int)(Math.log10(num)+1 )== 2){
quo = num/10;
if(quo>5 && quo<9){
rem = quo%5;
s = s + "L"+"X".repeat(rem);
}
else if(quo<4){
s = s + "X".repeat(quo);
}
else if(quo == 4){
s = s + "XL";
}
else if(quo == 9){
s = s+"XC";
}
else if(quo == 5){
s = s+"L";
}
num = num%10;
// System.out.print(num);
}
else if((int)(Math.log10(num)+1 ) == 1){
quo =num;
if(quo>5 && quo<9){
rem = quo%5;
s = s + "V"+"I".repeat(rem);
}
else if(quo<4){
s = s + "I".repeat(quo);
}
else if(quo == 4){
s = s + "IV";
}
else if(quo == 9){
s = s+"IX";
}
else if(quo == 5){
s = s+"V";
}
num =0;
}
}
System.out.print(s);
}
}