Cod sursa(job #189800)

Utilizator 05_YohnE1 La5c01 05_Yohn Data 18 mai 2008 13:44:56
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.55 kb
program sssrt;
const q=1999999973;
var a,b,n:longint;
    i,j,c:integer;
    v:array[1..33]of longint;
    f,g:text;
begin
assign(f,'lgput.in');
assign(g,'lgput.out');
reset(f);
rewrite(g);
readln(f,a,b);
i:=1;j:=1;
n:=a;v[j]:=a;
while i*2<=b do begin
      n:=sqr(n)mod q;
      i:=i*2;
      j:=j+1;
      v[j]:=n;
      end;
j:=j-1;c:=i div 2;
while i<b do begin
      while i+c<=b do begin
            n:=(n*v[j])mod q;
            i:=i+c;
            end;
      c:=c div 2;
      j:=j-1;
end;
writeln(g,n);
close(f);close(g);
end.