Ocena użytkownikóww: ***** / 1
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.
npm delphi/npm.dpr:
//
// Naiwne Potegowanie modulo
//
// www.algorytm.org
// (c)2006 Tomasz Lubinski
//
program npm;
{$APPTYPE CONSOLE}
uses
SysUtils;
// calculates a^b mod m
function power_modulo(a: Integer; b: Integer; m: Integer): Integer;
var
i: Integer;
begin
result := a mod m;
for i:=1 to b-1 do
begin
result := result * a;
result := result mod m;
end;
end;
begin
//9688563^458926 mod 71 = 30
writeln('9688563^458926 mod 71 = ' + IntToStr(power_modulo(9688563, 458926, 71)));
//12^4 mod 7 = 2
writeln('12^4 mod 7 = ' + IntToStr(power_modulo(12, 4, 7)));
end.