Cod sursa(job #146345)

Utilizator DanielGGlodeanu Ioan Daniel DanielG Data 1 martie 2008 16:17:03
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.53 kb
var a,b,c:int64;
f,g:text;
function alabmodc(a,b,c:int64):int64;
var aux:int64;
begin
if b=1 then alabmodc:=a
       else if b and 1=1 then alabmodc:=(alabmodc(a,b-1,c)*a) mod c
                         else begin
                               aux:=alabmodc(a, b div 2,c);
                               alabmodc:=(aux*aux)mod c;
                               end;
end;
begin
assign(f,'lgput.in');reset(f);
assign(g,'lgput.out');rewrite(g);
read(f,a,b);
c:=1999999973;
writeln(g,alabmodc(a,b,c));
close(f);
close(g);
end.