Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#16

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 16. Mai 2008, 19:38
Zitat von himitsu:
stümmt, geht aber immernoch nicht richtig ... und irgendwie bekomm ich keine Fehlermeldung o.O
Delphi-Quellcode:
{$OVERFLOWCHECKS ON}
{$RANGECHECKS ON}

function mod_exp(basis, exponent, modulo: Integer): Int64;
var basis64: Int64;
begin
  Result := 1;
  basis64 := basis;
  while exponent > 0 do begin
    if exponent and $1 <> 0 then Result := (Result * basis64) mod modulo;
    basis64 := (basis64 * basis64) mod modulo;
    exponent := exponent div 2;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Caption := IntToStr(mod_exp(666, 58613, 81079));
end;
nja mit TBigInt

mein kleiner 512-Bit Integer ist noch nicht ganz fertig (die Grundrechenarten sollten in einigen Tagen aber laufen)
Also mein Delphi 6 rechnet mit Deinem Code richtig 11771 aus. Was sollte denn Deiner Meinung nach rauskommen?
Gammatester
  Mit Zitat antworten Zitat