Pagini recente » Cod sursa (job #538482) | Cod sursa (job #2444207) | Cod sursa (job #3182562) | Cod sursa (job #3156649) | Cod sursa (job #2258290)
#include <fstream>
std::ifstream cin("sandokan.in");
std::ofstream cout("sandokan.out");
#define MOD 2000003
long long sol,pnumit=1,pnumar=1;
int n,k,numit,numar;
int main()
{
int i,x;
cin>>n>>x;
k=n%(x-1);
if(k==0)
k=x-1;
n--;k--;
if(n==k||k==0){
cout<<1;
return 0;
}
if(n/2<k) //=>n-k<k
numar=k+1, numit=n-k;
else
numar=n-k+1, numit=k;
for(;numar<=n;numar++)
pnumar=((pnumar*numar)%MOD);
for(i=2;i<=numit;i++)
pnumit=((pnumit*i)%MOD);
while(pnumar<pnumit)
pnumar+=MOD;
sol=pnumar/pnumit;
cout<<sol;
}