Cod sursa(job #149528)
Utilizator | Data | 5 martie 2008 20:25:01 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
program p21;
var i,m,n,p:longint;
f,g:text;
function putere(n,p:longint):longint;
var r:longint;
begin
if p=0 then putere:= 1
else begin
r:=putere(n*n, p div 2) mod 1999999973;
if p mod 2=1 then r:=(r*n) mod 1999999973;
putere:=r;
end;
end;
begin
assign(f,'lgput.in');reset(f);
assign(g,'lgput.out');rewrite(g);
readln(f,n,p);
m:=putere(n,p);
writeln(g,m);
close(g);
end.