Hallo zusammen,
ich versuche gerade eine Aufgabe aus dem Euler-Projekt zu lösen und bräuchte einen Denkanstoß.
Es geht im ersten Teil darum 100 50-stellige Zahlen zu addieren. Diese liegen jedoch ausserhalb des Wertebereiches und ich kann so nicht damit rechnen.
Ich habe mir also überlegt, mit den Zahlen als String zu arbeiten. Diesen zerlege ich in seine einzelnen Zeichen und addiere quasi nur jeweils das letzte (in int umgewandelte) Zeichen, arbeite mich bis an den Anfang durch und wandle die Einer-Stelle in der Summe wieder in einen String, den ich bis zur endgültigen Summe zusammensetze.
Mit der endgültigen Summe passiert nichts mehr, dort benötige ich nur die ersten Zahlen zur Lösung des Problems, das ist kein Problem.
Beispiel
Solche Zahlen wären z.B:
37107287533902102798797998220837590246510135740250
46376937677490009712648124896970078050417018260538
Daraus folgt:
0+8 = 8 -> String summe = 8
5+3 = 8 -> String summe = 88
2+7 = 7 -> String summe = 788 usw.
Wahrscheinlich auftretende Zehnerstellen der Summe würden dann in der jeweils nachfolgenden Addition berücksichtigt.
Meine Lösungsidee ist natürlich recht umständlich und deshalb frage ich mich, ob es einen sinnigeren Weg gibt mit Zahlen ausserhalb des Wertebereiches zu arbeiten.
Ich hoffe, ihr könnt mich hierbei ein wenig in die richtige Richtung schubsen.
Danke schonmal im Voraus
ich versuche gerade eine Aufgabe aus dem Euler-Projekt zu lösen und bräuchte einen Denkanstoß.
Es geht im ersten Teil darum 100 50-stellige Zahlen zu addieren. Diese liegen jedoch ausserhalb des Wertebereiches und ich kann so nicht damit rechnen.
Ich habe mir also überlegt, mit den Zahlen als String zu arbeiten. Diesen zerlege ich in seine einzelnen Zeichen und addiere quasi nur jeweils das letzte (in int umgewandelte) Zeichen, arbeite mich bis an den Anfang durch und wandle die Einer-Stelle in der Summe wieder in einen String, den ich bis zur endgültigen Summe zusammensetze.
Mit der endgültigen Summe passiert nichts mehr, dort benötige ich nur die ersten Zahlen zur Lösung des Problems, das ist kein Problem.
Beispiel
Solche Zahlen wären z.B:
37107287533902102798797998220837590246510135740250
46376937677490009712648124896970078050417018260538
Daraus folgt:
0+8 = 8 -> String summe = 8
5+3 = 8 -> String summe = 88
2+7 = 7 -> String summe = 788 usw.
Wahrscheinlich auftretende Zehnerstellen der Summe würden dann in der jeweils nachfolgenden Addition berücksichtigt.
Meine Lösungsidee ist natürlich recht umständlich und deshalb frage ich mich, ob es einen sinnigeren Weg gibt mit Zahlen ausserhalb des Wertebereiches zu arbeiten.
Ich hoffe, ihr könnt mich hierbei ein wenig in die richtige Richtung schubsen.
Danke schonmal im Voraus