C# :: Aufgabe #355 :: Lösung #2
3 Lösungen

#355
Liste aller zukünftigen Palindromtage in diesem Jahrtausend
Anfänger - C#
von hollst
- 12.02.2021 um 18:29 Uhr
Ein Datum (z. B. 12. Februar 2021) nennt man Palindromdatum, wenn es als Zahl geschrieben ein Palindrom ist (12022021, vorwärts gelesen identisch mit rückwärts gelesen).
Man schreibe ein Programm, das alle zukünftige Palindromtage bis zum 31. Dezember 2999 ausgibt.
Viel Spaß
Man schreibe ein Programm, das alle zukünftige Palindromtage bis zum 31. Dezember 2999 ausgibt.
Viel Spaß
#2

von hollst (13980 Punkte)
- 22.02.2021 um 17:57 Uhr

using static System.Console; //VS 2019 .Net 5.0.2 System.Text.StringBuilder sb = new System.Text.StringBuilder(); int[] tage_im_monat = new int[] { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 30 }; int start = 000, end = 10000; static string sx(string s, int x) => s.Length == x ? s : sx("0" + s, x); int count = 0; for (var i = start; i < end; i++) for (var j = 0; j < tage_im_monat.Length; j++) { string sm = sx((j + 1).ToString(), 2); for (var k = 0; k < tage_im_monat[j]; k++) { string st = sx((k + 1).ToString(), 2); string temp = st + sm + sx(i.ToString(), 4); bool bo_palindrom = true; for (var l = 0; l < 4; l++) if (temp[l] != temp[temp.Length - 1 - l]) bo_palindrom = false; if (bo_palindrom) { WriteLine($"{++count,3}: {temp} {int.Parse(temp.Substring(4)),4}"); sb.Append($"{temp}, "); } } } //System.IO.File.WriteAllText("erg_palindrom.txt", sb.ToString()); ReadKey();
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1