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

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
#5
vote_ok
von niknik (1230 Punkte) - 06.08.2015 um 14:23 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
    class Program
    {

        public static string BerechneIteration(string s)
        {
            int anzahl = 1;
            string returnString = "";
            for (int i = 0; i < s.Length; i++)
            {
                if (i < (s.Length - 1))
                {
                    if (s[i] == s[i + 1])
                    {
                        anzahl++;
                        continue;
                    }
                    else
                    {
                        returnString += ("" + anzahl + s[i]);
                        anzahl = 1;
                        continue;
                    }
                }
                else
                {
                    returnString += ("" + anzahl + s[i]);
                }
            }
            return returnString;
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Geben sie eine ganze Zahl ein: ");
            string eingabe = Console.ReadLine();
            long number;

            while (!long.TryParse(eingabe, out number))
            {
                Console.Clear();
                Console.WriteLine("Die Eingabe ist ungültig. Versuche erneut: ");
                eingabe = Console.ReadLine();
            }

            string ausgabe = eingabe;
            for (int i = 0; i < 15; i++)
            {
                ausgabe = BerechneIteration(ausgabe);
                Console.WriteLine((i+1) + ". Iteration: " + ausgabe);
            }

            Console.ReadLine();
        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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