Cod sursa(job #1093796)
Utilizator | Data | 28 ianuarie 2014 17:02:59 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 30 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
var a,n:int64;
f,g:text;
function rp(a,n:int64):int64;
begin
if n=1 then rp:=a
else
if (n mod 2=0) then rp:=(sqr(rp(a,n div 2))) mod 1999999973
else rp:=(sqr(rp(a,n div 2))*a) mod 1999999973;
end;
begin
assign(f,'lgput.in');reset(f);
assign(g,'lgput.out');rewrite(g);
readln(f,a,n);
write(g,rp(a,n));
close(f);
close(g);
end.