Mai intai trebuie sa te autentifici.
Cod sursa(job #150309)
| Utilizator | Data | 6 martie 2008 20:27:19 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
program p21;
var n,p:int64;
m:int64;
f,g:text;
function puterile(n,p:int64):int64;
var r:int64;
begin
n:=n mod 1999999973;
if p=0 then puterile:= 1
else if p=1 then puterile:=n
else begin
r:=puterile((n*n), p div 2);
r:=r mod 1999999973;
if p mod 2=1 then r:=(r*n);
r:=r mod 1999999973;
puterile:=r;
end;
end;
begin
assign(f,'lgput.in');reset(f);
assign(g,'lgput.out');rewrite(g);
readln(f,n,p);
m:=puterile(n,p) mod 1999999973;
writeln(g,m);
close(g);
end. 