Cod sursa(job #234864)
| Utilizator | Data | 22 decembrie 2008 09:40:21 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 20 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
var n,p:int64;
f,g:text;
function putere(x,n:integer):int64;
var p:int64;
i:int64;
begin
if n=0 then putere:=1
else if n mod 2=0 then putere:=(sqr(putere(x,n div 2))) mod 1999999973
else putere:=(x*putere(x,n-1))mod 1999999973;
end;
begin
assign(f,'lgput.in');
reset(f);
readln(f,n,p);
close(f);
assign(g,'lgput.out');
rewrite(g);
writeln(g,putere(n,p));
close(g);
end.
