C# :: Aufgabe #232 :: Lösung #2
6 Lösungen

#232
Teufelskreis einer selbstbezüglichen Aussage
Anfänger - C#
von hollst
- 17.12.2018 um 18:46 Uhr
Die folgende Aussage sei gegeben als String:
"Dieser Satz hat vierzig Buchstaben sowie einen Punkt."
Die Aussage ist natürlich falsch, denn der Satz hat tatsächlich fünfundvierzig Buchstaben.
Ersetzen wir nun in der Aussage das Wort "vierzig" durch "fünfundvierzig" bleibt die Aussage aber trotzdem falsch,
denn der neue Satz hat zweiundfünfzig Buchstaben. Schöner Teufelskreis, oder?
Schreibe ein Programm mit dem überprüft wird, ob es überhaupt eine (ausgeschriebene) Zahl gibt, die oben zu einer wahren Aussage führt.
Viel Spaß!
"Dieser Satz hat vierzig Buchstaben sowie einen Punkt."
Die Aussage ist natürlich falsch, denn der Satz hat tatsächlich fünfundvierzig Buchstaben.
Ersetzen wir nun in der Aussage das Wort "vierzig" durch "fünfundvierzig" bleibt die Aussage aber trotzdem falsch,
denn der neue Satz hat zweiundfünfzig Buchstaben. Schöner Teufelskreis, oder?
Schreibe ein Programm mit dem überprüft wird, ob es überhaupt eine (ausgeschriebene) Zahl gibt, die oben zu einer wahren Aussage führt.
Viel Spaß!
#2

von AchtungHuPe (170 Punkte)
- 03.01.2019 um 11:36 Uhr

using System; namespace SentenceLength { class Program { static void Main(string[] args) { int minStringLength = "Dieser Satz hat Buchstaben sowie einen Punkt".Replace(" ", string.Empty).Length; string[] decadeList = { "vierzig", "fünfzig", "sechzig", "siebzig", "achtzig", "neunzig" }; string[] unitPositionList = { "einund", "zweiund", "dreiund", "vierund", "fünfund", "sechsund", "siebenund", "achtund", "neunund" }; int i = 40; foreach (string decade in decadeList) { if ( i == minStringLength + decade.Length) Console.WriteLine("Dieser Satz hat {0} ({1}) Buchstaben sowie einen Punkt", decade, minStringLength + decade.Length); int j = 1; foreach (string unit in unitPositionList) { int numberStringLength = unit.Length + decade.Length; int curStringLength = minStringLength + numberStringLength; if (i + j == minStringLength + numberStringLength) Console.WriteLine("Dieser Satz hat {0}{1} ({2}) Buchstaben sowie einen Punkt", unit, decade, minStringLength + numberStringLength); j = j + 1; } i = i + 10; } Console.ReadKey(); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1