Bevor ich die Java-Lösungen hier gelesen habe, hab ich selber eine gschrieben, die etwas anders aussieht...
vielleicht denke ich ja anders als die meisten Menschen ;-)
für xyz kann man eine beliebige Dezimal-Zahl eingeben
Code:
public class RömischeZahlen {
public static void main(String[] args) {
int Zahl = xyz;
String Ausgabe = "";
while ((Zahl / 5000) > 0) {
Ausgabe = Ausgabe + "A";
Zahl -= 5000;
}
while ((Zahl / 1000) > 0) {
Ausgabe = Ausgabe + "M";
Zahl -= 1000;
}
while ((Zahl / 500) == 1 && (Zahl / 100) != 9) {
Ausgabe = Ausgabe + "D";
Zahl -= 500;
}
if ((Zahl / 100) > 0) {
if ((Zahl / 100) == 9) {
Ausgabe = Ausgabe + "CM";
Zahl -= 900;
}
else if ((Zahl / 100) == 4) {
Ausgabe = Ausgabe + "CD";
Zahl -= 400;
}
else {
while ((Zahl /100) > 0) {
Ausgabe += "C";
Zahl -= 100;
}
}
}
while ((Zahl / 50) == 1 && (Zahl / 10) != 9) {
Ausgabe = Ausgabe + "L";
Zahl -= 50;
}
if ((Zahl / 10) > 0) {
if ((Zahl / 10) == 9) {
Ausgabe = Ausgabe + "XC";
Zahl -= 90;
}
else if ((Zahl / 10) == 4) {
Ausgabe = Ausgabe + "XL";
Zahl -= 40;
}
else {
while ((Zahl /10) > 0) {
Ausgabe += "X";
Zahl -= 10;
}
}
}
while ((Zahl / 5) == 1 && (Zahl / 1) != 9) {
Ausgabe = Ausgabe + "V";
Zahl -= 5;
}
if ((Zahl / 1) > 0) {
if ((Zahl / 1) == 9) {
Ausgabe = Ausgabe + "IX";
Zahl -= 9;
}
else if ((Zahl / 1) == 4) {
Ausgabe = Ausgabe + "IV";
Zahl -= 4;
}
else {
while ((Zahl /1) > 0) {
Ausgabe += "I";
Zahl -= 1;
}
}
}
if (Zahl == 0) {
System.out.println(Ausgabe);
}
}
}
__________________
Lenovo ThinkPad X201 | Core i7 620M 2,67 GHz, 4 GB DDR3, 128 GB Kingston SSD
Marke Eigenbau | Core 2 Duo E8400 3,0 GHz, 4 GB DDR2, XFX NVIDIA GeForce 9800 GT 670M
blog.derLichtschalter.de