Eugeniusz Jakubas
programy źródłowe w Pascalu

Stąd można pobrać teksty źródłowe poniższych 57 programów w Pascalu pr-pascal.zip - 34 kB

26. Reszta ab mod c.

program Reszta;
{$N+}
uses  crt;
var a:extended;
function potegaModulo(a,b,c:extended):extended;
var reszta:extended;
begin
  reszta:=1;
  while b>0 do
        begin
          if int(b/2)<>b/2 then reszta:=reszta*a-int(reszta/c*a)*c;
          a:=a*a-int(a/c*a)*c;
          b:=int(b/2);
        end;
  potegaModulo:=reszta;
end;
begin
  clrScr;
  a:=4905289;
  writeLn(a:1:0,' -> ',potegaModulo(a,4321,948581743):1:0);
  readLn;
end.