Cod sursa(job #1386369)

Utilizator maierraulMaier Raul maierraul Data 12 martie 2015 22:10:44
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.43 kb
program putere;
const c=1999999973;
var x,n:longint;
    f,g:text;

function putere(x,n:longint):longint;
begin
if n=0 then putere:=1
else if n=1 then putere:=x
else if n mod 2 = 1 then
        putere:=(x*putere(x,n-1)) mod c
else
        putere:=putere(x*x,n div 2) mod c
end;

begin
assign(f,'lgput.in'); reset(f);
assign(g,'lgput.out'); rewrite(g);
readln(f,x,n);
writeln(g,putere(x,n) mod c);
close(f); close(g);
end.