Cod sursa(job #1501837)
Utilizator | Data | 13 octombrie 2015 21:21:31 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
var f:text;
a,b:longint;
c:int64;
function putere(x,n:longint):int64;
var p:int64;
begin
if n=0 then putere:=1
else
if n mod 2=0 then
begin
p:=putere(x,n div 2);
putere:=p*p
end
else
begin
p:=putere(x,(n-1)div 2);
putere:=p*p*x
end;
end;
begin
assign(f,'lgput.in');
reset(f);
readln(f,a,b);
close(f);
c:=putere(a,b);
assign(f,lgput.out');
rewrite(f);
writeln(f,c);
close(f);
end.