Cod sursa(job #153789)

Utilizator petrePajarcu Alexandru-Petrisor petre Data 10 martie 2008 18:54:53
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.6 kb
var n,p,t,k,pi:qword;

procedure calcul(var n,k:qword);
begin
if 2*k<=p then
             begin
             t:=n;
             n:=(n*n)mod 1999999973;
             pi:=k;
             k:=2*k;
             calcul(n,k);
             if k+pi<=p then
                        begin
                        n:=(n*t) mod 1999999973;
                        k:=k+pi;
                        end;
             end;
end;

begin
assign(input,'lgput.in');
assign(output,'lgput.out');
reset(input);
rewrite(output);
readln(n,p);k:=1;
calcul(n,k);
writeln(n);
close(input);
close(output);
end.