Cod sursa(job #149534)
Utilizator | Data | 5 martie 2008 20:29:53 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
program p21;
var i,n,p:int64;
m:int64;
f,g:text;
function putere(n,p:longint):int64;
var r:int64;
begin
if p=0 then putere:= 1
else begin
r:=putere((n*n)mod 1999999973, 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.