Das ganze sollte auch ohne BigInt funktionieren, zumindest mit 32bit-ints als Input:
Delphi-Quellcode:
function exp_mod(x, n, m: integer): integer;
var
i: integer;
p, r: int64;
begin
i := 1;
r := 1;
p := x;
while (i > 0) and (i < n) do
begin
if (i and n > 0) then
r := (r * p) mod m;
p := (p * p) mod m;
i := i shl 1;
end;
result := r;
end;
ok, fragt nich mich, was ich grad gedacht hab, iwie hab ich das Problem der Frage verfehlt
greetz
Mike