Pagini recente » Cod sursa (job #2867715) | Cod sursa (job #2303990) | Cod sursa (job #1365912) | Cod sursa (job #1956691) | Cod sursa (job #1347206)
#include <fstream>
#define nmax 5005
#define mod 2000003
using namespace std;
ifstream f("sandokan.in");
ofstream g("sandokan.out");
int v[nmax];
int comb(int n , int k)
{
int i,a,x,j;
for (i=2;i<=n;i++)
v[i]++;
for (i=2;i<=k;i++)
v[i]--;
for (i=2;i<=n-k;i++)
v[i]--;
for (i=n;i>=2;i--)
if (v[i]!=0){
a=v[i];v[i]=0;
x=i;
j=2;
while (x-1) {
if (x%j==0) {
x/=j;
v[j]+=a;
while (x%j==0) {
x/=j;
v[j]+=a;
}
}
else
if (j*j>x) {
v[x]+=a;
x=1;
}
j++;
}
}
int sol=1;
for (i=2;i<=n;i++)
while (v[i]) {
v[i]--;
sol*=i;
sol%=mod;
}
return sol;
}
int main()
{
int n,k,i;
f>>n>>k;
i=n;
while (i>(k-1))
i-=(k-1);
g<<comb(n-1,i-1);
return 0;
}