Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 Beiträge
 
Delphi XE2 Professional
 
#37

Re: Rechenprogramm

  Alt 20. Jun 2009, 19:13
Zitat von Corpsman:
Dein Parser Rechnet Falsch :(

(((5^16) mod 47)^9) mod 47 = 21
(((5^9) mod 47)^16) mod 47 = 0

behauptet dein Parser,

Laut Google ist das aber = 34, beides mal ...
Hallo Corpsman,
ich war im Urlaub, dahei eine verspätete Antwort:

beide von dir genannten Rechnungen sollten 21 ergeben.
Daß mein Parser für die zweite Rechnung 0 als Resultat nennt, liegt, wie von krassonkel schon vermutet, an den hohen Zwischenergebnissen.
Der Parser arbeitet intern mit Extended-Zahlen und 40^16 / 47 läßt sich damit nicht exakt darstellen.

Aber : Warum verwendest du nicht die Funktion ExpMod ?

expmod(expmod(5,16,47),9,47) ergibt 21
expmod(expmod(5,9,47),16,47) ergibt 21

Ich hab übrigens das gesamte Innenleben des Parsers überarbeitet - er ist jetzt etwa 25 % schneller.
Außerdem möchte ich den Teil des Programmes der für die Auswertung von Ausdrücken zuständig ist, in Form von .dcu Dateien zur Verfügung stellen. Die können dann in eigene Programme eingebunden werden.
Aber ich werde noch einige Zeit brauchen um Fehler zu finden und zu beseitigen.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat