Programmierung

[C#] Quersumme von großen Zahlen berechnen

Folgende Aufgabe: Man soll ein kleines Programm schreiben, dass uns die Quersumme der Zahl 2 hoch 12345 berechnet. Die zu lösen, ist relativ einfach. Dazu braucht man die relativ neue Klasse BigInteger in C#. Neu heißt, diese gibt es erst seit dem .NET Framework 4.0.

1. 2 hoch 12345 berechnen

Die Zahl zu berechnen geht ganz einfach. Es gibt die Funktion Pow (vom englischen Wort power), dass uns Hochzahlen berechnet. Dies sieht dann so aus:

BigInteger two = BigInteger.Pow(2, 12345);

2. Funktion zur Berechnung der Quersumme schreiben

Nun brauchen wir noch eine Funktion zur Berechnung der Quersumme. Die Quersumme berechnet sich wie folgt: Angenommen, wir haben die Zahl 56789, dann ist die Quersumme = 5 + 6 + 7 + 8 + 9 = 35. Da wir es hier aber mit BigIntegers zu tun haben, nutzen wir diese auch:

public static long getQuersumme(BigInteger bi)
{
long result = 0;
string s = bi.ToString();
for (int i = 0; i < s.Length; i++)
{
result += Int32.Parse(s[i].ToString());
}
return result;
}

Was mache ich hier? Zuerst wandle ich den BigInteger in einen String um. Dann addiere ich jede Zahl in dem String zu meiner Ergebnisvariable (result) und gebe die wieder zurück.

Meine Main-Methode sieht dann folgendermaßen aus:

static void Main(string[] args)
{
BigInteger two = BigInteger.Pow(2, 12345);
Console.WriteLine(getQuersumme(two));
Console.ReadLine();
}

Und gibt bei mri 16820 aus.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.