Cod sursa(job #234884)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 22 decembrie 2008 10:13:18
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.51 kb
const m=1999999973;
var n,p:int64;
f,g:text;
function putere(x,n:int64):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) mod m;
                            end
                         else putere:=(x*putere(x,n-1)) mod m;
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) mod m);
close(g);
end.