Pagini recente » Flux si cuplaj | Cod sursa (job #3031574) | Cod sursa (job #1497337) | Diferente pentru implica-te/arhiva-educationala intre reviziile 35 si 36 | Cod sursa (job #288567)
Cod sursa(job #288567)
var a,b,c,s,i:longint;
f,g:text;
function rid(x,k,n:longint):longint;
var a:longint;
S:longint;
begin
if k = 0 then
rid:=1 else
if k mod 2 = 0 then
begin
a:=rid(x,k div 2,n);
rid:=a*a mod n;
s:=s+(a*a mod n) mod 9901;
end else
begin
a:=rid(x,k div 2,n);
b:=a*a mod n;
rid:=b*x mod n ;
s:=s+(a*a mod n) mod 9901;
end;
end;
begin
assign(f,'sumdiv.in'); reset(f);
read(f,a,b);
close(f);
s:=0;
for i:= 0 to b do
s:=s+(rid(a,i,9901));
assign(g,'sumdiv.out');
rewrite(g);
writeln(g, s);
close(g);
end.