C# :: Aufgabe #12 :: Lösung #8
8 Lösungen

#12
Zahlenfolge berechnen und fortsetzen
Anfänger - C#
von pocki
- 24.11.2012 um 19:50 Uhr
Es soll eine Zahlenfolge wiefolgt berechnet werden:
Die nacheinander folgenden gleichen Zahlen werden gezählt und zusammen mit der Zahl ausgegeben.
Aus der neu berechneten Zahlenfolge errechnet sich die nächste.
Beispiel:
1. Folge: 112
2. Folge: 2112 (2 Einser und 1 Zweier)
3. Folge: 122112 (1 Zweier, 2 Einser, und 1 Zweier)
usw.
Es soll nun mit dieser ersten Folge startend die 15. Folge berechnet und ausgegeben werden.
Wenn mehrstellige Zahlen vorkommen sind diese gleich auszugeben. Bsp: 12 Einser = 121
Die nacheinander folgenden gleichen Zahlen werden gezählt und zusammen mit der Zahl ausgegeben.
Aus der neu berechneten Zahlenfolge errechnet sich die nächste.
Beispiel:
1. Folge: 112
2. Folge: 2112 (2 Einser und 1 Zweier)
3. Folge: 122112 (1 Zweier, 2 Einser, und 1 Zweier)
usw.
Es soll nun mit dieser ersten Folge startend die 15. Folge berechnet und ausgegeben werden.
Wenn mehrstellige Zahlen vorkommen sind diese gleich auszugeben. Bsp: 12 Einser = 121
#8

von Hope (220 Punkte)
- 27.12.2019 um 14:19 Uhr

static void Main(string[] args) { Console.WriteLine("Geben Sie die Anfangszahl ein:"); while (true) { input = Console.ReadLine(); int zahl; if (!int.TryParse(input, out zahl)) { Console.WriteLine("Sie haben keine gültige Ganzzahl eingegeben"); Console.WriteLine("Gib eine neue Zahl ein: "); } else { for (int i = 1; i < 15; i++) { Berechnen(ref input); Console.WriteLine(input); } break; } } Console.ReadKey(); } private static void Berechnen(ref string zahl) { string tempZahl = zahl; string temp = string.Empty; int anzahl = 1; for (int i = 0; i < tempZahl.Length; i++) { if (i < tempZahl.Length - 1) { if (tempZahl[i].ToString() == tempZahl[i + 1].ToString()) { anzahl++; continue; } } temp += anzahl + tempZahl[i].ToString(); anzahl = 1; } zahl = temp; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1