Cod sursa(job #1112084)
Utilizator | andrei sulzandrei | Data | 19 februarie 2014 13:24:30 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
program sds;
var n,p,z,i:longint; f:text;
function putere(x,n:longint):int64;
begin
if n=0 then putere:=1
else if odd(n) then putere:=x*sqr(putere(x,n div 2))
else putere:=sqr(putere(x,n div 2));
end;
begin
assign(f,'lgput.in'); reset(f);
read(f,n);
read(f,p);
close(f);
z:=n;
for i:=2 to p do
z:=z*n;
assign(f,'lgput.out'); rewrite(f);
z:={putere(n,p) } z mod 1999999973;
write(f,z);
close(f);
end.