Sehr große Zahl kürzen ohne Modulo zu verfälschen

Neue Frage »

vNovtis Auf diesen Beitrag antworten »
Sehr große Zahl kürzen ohne Modulo zu verfälschen
Meine Frage:
Ich komme aus dem ersten Semester Informatik, ich habe 1 Zahl die sehr sehr groß wird z.B. 2,147,483,647. Diese Zahl möchte ich kürzen, allerdings ohne das ich Modules verletze.

Als Rechnung habe ich Zahl a,b und c die im Zusammenhang a^b modulo c berechnet werden. z.B. a = 3; b = 4; c = 5;
3^4 = 81 modulo 5 = 1
Wie gehe ich da vor?

Meine Ideen:
Ansatz: In der Schleife mit der ich das Ergebnis rechne das ich am ende modulo c rechne überprüfe ich immer ob ein gewisser "Grenzwert" überschritten wird und wenn das der Fall ist versuche ich das Zwischenresultat zu kürzen.
Steffen Bühler Auf diesen Beitrag antworten »
RE: Sehr große Zahl kürzen ohne Modulo zu verfälschen
Zitat:
Original von vNovtis
Diese Zahl möchte ich kürzen, allerdings ohne das ich Modules verletze.


Dieser Satz ist mir nicht restlos klar. Zahlen kann man nicht kürzen, nur Brüche. Und wie verletzt man Modules?

Viele Grüße
Steffen
HAL 9000 Auf diesen Beitrag antworten »

Vermutlich geht es um folgendes:

Es soll berechnet werden unter Berücksichtigung der Limitierungen, die die diversen Integerformate auf den Rechnerplatformen nun mal haben. Im Klartext: Wie vermeidet man dabei Überläufe?

Für richtig große Zahlen ( sind ja peanuts...) empfehle ich die GMP-Library, da ist sogar schon die passende Funktion dabei.
Steffen Bühler Auf diesen Beitrag antworten »

Von einem Informatiker könnte man in diesem Fall verlangen, dass er das selber programmiert. Zum Beispiel mit einer zu erstellenden Klasse, die beliebig große Zahlen (z.B. einfach als Strings) verarbeitet und diese addieren und subtrahieren kann, etwa so, wie man es in der Grundschule lernt. Das sollte ausreichen, um die Rechnung durchzuführen.
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von Steffen Bühler
die beliebig große Zahlen (z.B. einfach als Strings) verarbeitet und diese addieren und subtrahieren kann

Division/Modulo mit solchen Zahlen ist schon anspruchsvoller, sofern es auch nur einigermaßen effizient zugehen soll (d.h. schon etwas über dem Niveau einer fortgesetzten Subtraktion...). Augenzwinkern
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »