Cod sursa(job #152142)

Utilizator Clau2000GOREA CLAUDIU-CRISTIAN Clau2000 Data 9 martie 2008 03:23:47
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.49 kb
var f,g:text;
    a,a1,p:real;
    c,b,b1:longint;

begin
     assign(f,'lgput.in');
     assign(g,'lgput.out');
     reset(f);
     rewrite(g);
     read(f,a,b);
     c:=1999999973;        {(a^b) mod c, c=1999999973}
     p:=1;
     b1:=b;
     a1:=round(a) mod c;
     while b1<>0 do
     begin
         if b1 mod 2=1 then
            p:=round(p*a1)mod c;
         a1:=round(a1*a1)mod c;
         b1:=b1 div 2;
     end;
     write(g,p);
     close(f);
     close(g);
end.