Pagini recente » Cod sursa (job #551597) | Cod sursa (job #2117063) | Cod sursa (job #1400127) | Borderou de evaluare (job #1170071) | Cod sursa (job #505288)
Cod sursa(job #505288)
//const m=1999999973;
var
f,g:text;
m,x,i,a,p,n,sol:longint;
//buf:array[1..1 shl 17] of char;
function pow(a,b:longint):longint;
begin
//if not b then pow:=1;
if b=1 then pow:=a mod m
else pow:=(pow(a*a mod m,b div 2)*pow(a,b mod 2))mod m;
end;
begin
m:=1999999973;
assign(f,'lgput.in');reset(f);
assign(g,'lgput.out');rewrite(g);
//settextbuf(f,buf);
readln(f,n,p);
{sol:=1;
a:=n;
for i:=0 to p do
repeat
begin
if (1 shl i>0) and (p>0) then
sol:=(sol*a) mod m;
a:=(a*a) mod m;
inc(i);
end;
until (1 shl i)<=p;
write(g,sol);
}write(g,pow(n,p));
close(f);close(g);
end.