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

8 Lösungen Lösungen öffentlich
#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
#8
vote_ok
von Hope (220 Punkte) - 27.12.2019 um 14:19 Uhr
Quellcode ausblenden C#-Code
 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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben