Zitat von
Muchacho:
Bin erstaunt, da solche Zahlen werden auch z.B. bei IBAN Berechnungen erzeugt
und anschließend mit modulo 97 behandelt, also offensichtlich keine Zauberei.
Zitat von
Dax:
(a + b) mod x = ((a mod x) + (b mod x)) mod x
Dann geht das ohne große Zahlen.
Delphi-Quellcode:
Function Modulo (VerdammtGrosseZahl : String; Modulo : Integer) : Integer;
Var
Zahl : Integer;
i : integer;
Begin
Zahl := 0;
for i:=1 to length (VerdammtGrosseZahl) do
// Zahl := (Zahl*10 + Ord(VerdammtGrosseZahl[i]) - 10) mod Modulo;
Zahl := (Zahl*10 + Ord(VerdammtGrosseZahl[i]) - Ord('0')) mod Modulo;
End;
[edit] Code verbessert [/edit]