Cod sursa(job #867168)
Utilizator | Mihai 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.