Ich vermute, die Zahl liegt als String vor. Dann kannst du die sogar Zeichenweise abarbeiten. Es gilt nämlich
(a + b) mod c = ((a mod c) + (b mod c)) mod c
Solange der Divisor noch als Integer darstellbar ist und damit das Ergebnis zwangsläufig auch, tut es auch somit folgende Funktion:
Delphi-Quellcode:
function LongMod(const Zahl: string; Divisor: Integer): Integer;
var
Ch: Char;
begin
Result := 0;
for Ch in Zahl do begin
Result := (10*Result + Ord(Ch) - Ord('0')) mod Divisor;
end;
end;