Cod sursa(job #159648)

Utilizator ghitza_2000Stefan Gheorghe ghitza_2000 Data 14 martie 2008 12:04:31
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.58 kb
var a,b,c:longint;   
    f:text;   
function alabmodc(a,b,c:longint):longint;
var aux:longint;
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.