Cod sursa(job #1384399)

Utilizator Stefan.Andras Stefan Stefan. Data 11 martie 2015 08:26:21
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.69 kb
program asdf;
const modulo = 1999999973;
var f,g:text;
    n,sol,m:int64;

begin
        assign(f,'lgput.in'); reset(f);
        assign(g,'lgput.out'); rewrite(g);
        readln(f,n,m);
        n:=n mod modulo;
        sol:=1;
        while m > 0 do
                begin
                if m mod 2 = 0 then
                        n:=(n mod modulo)*(n mod modulo)
                   else
                        begin
                        sol:=(sol mod modulo)*(n mod modulo);
                        n:=(n mod modulo)*(n mod modulo);
                        end;
                m:=m div 2;
                end;
        writeln(g,sol mod modulo);
        close(f); close(g);
end.