Cod sursa(job #159653)

Utilizator ghitza_2000Stefan Gheorghe ghitza_2000 Data 14 martie 2008 12:05:40
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.55 kb
var a,b,c:int64;
    f:text;
function alabmodc(a,b,c:int64):int64;
var aux:int64;
begin

if b=1 then alabmodc:=a mod c
       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);
read(f,a,b);
close(f);
c:=1999999973;
assign(f,'lgput.out'); rewrite(f);
writeln(f,alabmodc(a,b,c));   
close(f);   
end.