Einzelnen Beitrag anzeigen

tuxianer

Registriert seit: 16. Mai 2008
25 Beiträge
 
#1

Exponentieren und dann Modulo: große Zahlen

  Alt 16. Mai 2008, 16:25
Hallo,
ich habe jetzt den Code implementiert:

Delphi-Quellcode:
function tform1.mod_exp(basis,exponent,modulo:integer):int64;
var e:Integer;
begin
  e:=1;
  while (exponent>0) do begin
    if (exponent mod 2 > 0) then e:=(e*basis) mod modulo;
    basis:=(basis*basis) mod modulo;
    exponent:=exponent div 2;
  end;
  result:=e;
end;
Bei Größeren Zahlen kommt aber mist raus z.B.

666^58613 mod 81079=-38808

Rauskommen müsste aber: 49371.

Woran kann das liegen? Mit kleineren Zahlen gehts 1a!
  Mit Zitat antworten Zitat