Pagini recente » Cod sursa (job #2595629) | Cod sursa (job #1169772) | Cod sursa (job #2438311) | Cod sursa (job #1064063) | Cod sursa (job #223228)
Cod sursa(job #223228)
const x=2000003;
var f,g:text;
n,k,t:longint;
function cmmdc(a,b:longint):longint;
begin
k:=a mod b;
while (k>0)do
begin
a:=b;
b:=k;
k:=a mod b;
end;
cmmdc:=b;
end;
function comb(n,k:longint):longint;
var v:array[0..5010]of longint;
i,j,p:longint;
begin
if (k>n-k)then k:=n-k;
for i:=1 to n do v[i]:=i;
for i:=2 to k do
begin
for j:=n-k+1 to n do
begin
p:=cmmdc(v[i],v[j]);
v[i]:=v[i] div p;
v[j]:=v[j] div p;
if (v[i]=1)then break;
end;
end;
p:=1;
for i:=n-k+1 to n do p:=(p*v[i])mod x;
comb:=p;
end;
begin
assign(f,'sandokan.in');
assign(g,'sandokan.out');
reset(f);
rewrite(g);
read(f,n,k);
t:=n mod (k-1);
if (t=0)then t:=k-1;
write(g,comb(n-1,t-1));
close(f);
close(g);
end.