Cod sursa(job #296486)
Utilizator | Andrei Duma AndreiDuma | Data | 4 aprilie 2009 21:01:24 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 20 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
var n,p,a:int64;
f,g:text;
function putere( x:int64; n:int64 ):int64;
begin
if n=0 then putere:=1
else if n mod 2 =1 then putere:=putere(x,n-1)*x mod 1999999973
else putere:=putere(x,n div 2)*putere(x,n div 2) mod 1999999973;
end;
begin
assign(f,'lgput.in');reset(f);
assign(g,'lgput.out');rewrite(g);
readln(f,n,p);
a := putere(n,p);
writeln(g,a);
close(g);
end.