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
