Ocena użytkownikóww: ***** / 3
Nadesłany przez Tomasz Lubiński, 13 listopada 2006 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
mod delphi/modulo.dpr:
//
// Obliczanie modulo z dowolnie duzej liczby
//
// www.algorytm.org
// (c)2006 Tomasz Lubinski
//
program modulo;
{$APPTYPE CONSOLE}
uses
SysUtils;
function modulo_str(n: String; m: Integer): Integer;
var
i: Integer;
x: String;
begin
Result := 0;
x := '';
for i:=1 to length(n) do
begin
if result = 0 then
x := n[i]
else
x := IntToStr(result) + n[i];
result := StrToInt(x);
result := result mod m;
end;
end;
begin
//510007547061111400 mod 97 = 36
writeln('510007547061111400 mod 97 = ' + IntToStr(modulo_str('510007547061111400', 97)));
//1295302 mod 7 = 1
writeln('1295302 mod 7 = ' + IntToStr(modulo_str('1295302', 7)));
end.