Pagini recente » Cod sursa (job #316666) | Cod sursa (job #1545273) | Cod sursa (job #3202897) | Cod sursa (job #3141163) | Cod sursa (job #322373)
Cod sursa(job #322373)
#include <stdio.h>
long long n,d,m,ijfact,ifact,nfact,number,nr;
long long fact(long long n)
{ long long i,nr=1;
for(i=2;i<=n;++i) nr*=i;
return nr;
}
int main()
{register long long i;
freopen("pascal.in","rt",stdin);
freopen("pascal.out","wt",stdout);
scanf("%lld%lld",&n,&d);
if(n%2) m=(n+1)/2;
else m=n/2+1;
ijfact=nfact=fact(n);
for(ifact=1,i=1;i<m;++i)
{
ifact*=i;
ijfact/=(n-i+1);
number=nfact/(ifact*ijfact);
if(i==m-1)
{ if(number%d==0) ++nr;
}else if(number%d==0) nr+=2;
}
printf("%lld",nr);
return 0;
}