Cod sursa(job #867168)

Utilizator MihaicorneliuMihai Pojar Mihaicorneliu Data 29 ianuarie 2013 11:39:09
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.39 kb
program lgput;
const prim=1999999973;
var
  n,p,i:longint;
  f1,f2:text;
  a,sol:int64;

begin
assign(f1,'lgput.in');
reset(f1);
readln(f1,n,p);
close(f1);
a:=n;
i:=0;
sol:=1;
while((1 shl i) <=p) do
  begin
  if ( ((1 shl i)and p)>0) then
    sol:=(sol*a) mod prim;
  a:=(a*a) mod prim;
  i:=i+1
  end;
assign(f2,'lgput.out');
rewrite(f2);
writeln(f2,sol);
close(f2)
end.