Pagini recente » Cod sursa (job #1292441) | Cod sursa (job #2536632) | Cod sursa (job #36664) | Cod sursa (job #2095403) | Cod sursa (job #1957614)
#include<bits/stdc++.h>
#define MOD 2000003
using namespace std;
long long n,k,sol;
long long invmod(long long a,long long b)
{
long long rez=1LL;
long long ex=b-2LL;
while(ex)
{
if(ex&1)
{
ex-=1LL;
rez=(rez*a)%MOD;
}
else
{
ex>>=1LL;
a=(a*a)%MOD;
}
}
return rez;
}
long long C(long long n,long long k)
{
long long nf=1LL,kf=1LL,xf=1LL;
for(int i=1;i<=n;i++) nf=(nf*i)%MOD;
for(int i=1;i<=k;i++) kf=(kf*i)%MOD;
for(int i=1;i<=n-k;i++) xf=(xf*i)%MOD;
long long comb=1LL;
comb=(comb*nf)%MOD;
comb=(comb*invmod(kf,MOD))%MOD;
comb=(comb*invmod(xf,MOD))%MOD;
return comb;
}
int main()
{
freopen("sandokan.in","r",stdin);
freopen("sandokan.out","w",stdout);
scanf("%lld%lld",&n,&k);
sol=1LL;
while(n>=k)
{
sol=(sol*(C(n,k)))%MOD;
n=n-k+1LL;
}
printf("%lld\n",sol);
return 0;
}