Zitat von
Klaus01:
Du könntest Deinen Versuch mit kleineren Primzahlen durchführen.
Damit wird auch e und d kleiner.
Oder schau Dir einmal das
DecMath von Hagen an. Das kann mit solchen
großen Zahlen umgehen.
Das mit den kleineren Primzahlen wird wohl wenig bringen, und auch
DEC erscheint mir hier für jemanden, der nicht weiß, wie
Unit math benutzt wird, nicht Erfolg versprechend.
Statt der Powerroutine aus math kann er mal folgende Integer-Power-Funktionn verwenden:
Delphi-Quellcode:
function IPowMod(a,b,n: int64): int64;
{-Berechnet a^b mod n}
var
p: int64;
begin
p := 1;
while b > 0
do begin
while b
and 1 = 0
do begin
b := b
shr 1;
a := (a * a)
mod n;
end;
dec(b);
p := (p * a)
mod n;
end;
IPowMod := p;
end;
Ergebnis von IPowMod(123,60000,997) ist zB 966. 123^60000 ist ein Zahl mit über 400000 Bits also riesig im Verbleich mit den 64 Bits von double.
Gruß Gammatester