C# :: Aufgabe #100 :: Lösung #6
9 Lösungen

#100
Jahreszahlenkonverter für römische Schreibweise
Anfänger - C#
von BlackBird321
- 04.06.2015 um 22:36 Uhr
Bitte schreibe ein Programm, welches eine einzugebende Jahreszahl in eine römische Schreibweise umwandelt.
Beispiel:
1995 = MCMXCV
2015 = MMXV
Beispiel:
1995 = MCMXCV
2015 = MMXV
#6

von Mentalist999 (680 Punkte)
- 19.08.2015 um 17:31 Uhr
Erweiterbare Loop. Kürzer und schneller als Pocki's Lösung. *Dance*
C#-Code

enum Ronum { I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000, IↃ = 500, ↀ = 1000, ↁ = 5000, ↂ = 10000, CCCIↃↃↃ = 50000, IↃↃↃↃ = 100000, CCCCIↃↃↃↃ = 500000, CCCIↃↃↃↂↂↂↀↁIↃLXVII = 1000000 } public static string ToRoman(int Value) { string Result = ""; foreach (Ronum Ronum in ((IEnumerable<Ronum>)Enum.GetValues(typeof(Ronum))).Reverse<Ronum>()) { Result += (Value / (int)Ronum < 4) ? String.Concat(Enumerable.Repeat(Ronum.ToString(), Value / (int)Ronum)) : (Result != "" && Result[Result.Length - 1].ToString() == ((Ronum)((int)Ronum * 5)).ToString()) ? "\b" + Ronum.ToString() + ((Ronum)((int)Ronum * 10)).ToString() : Ronum.ToString() + ((Ronum)((int)Ronum * 5)).ToString(); Value %= (int)Ronum; } return Result; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1