Pagini recente » Borderou de evaluare (job #233418) | Cod sursa (job #3002416) | Cod sursa (job #1713411) | Borderou de evaluare (job #1536422) | Cod sursa (job #505102)
Cod sursa(job #505102)
#include<stdio.h>
long long fact(long long k,long long lim)
{
long long i,p=1;
if(lim==1)
return 1;
for(i=k;i<=lim;i++)
p*=i;
return p;
}
long long pascal(long long r,long long i)
{
if(r-i>i)
return fact(r-i+1,r) / fact(2,i) ;
else
return fact(i+1,r) / fact(2,r-i) ;
}
long long R,nr,n;
int D;
int main()
{
int i,lim;
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%lld%d",&R,&D);
if(R%2==1)
lim=R/2;
else
{
lim=R/2;
nr--;
}
for(i=1;i<=lim;i++)
{
n= pascal( R , i );
if( n % D == 0 )
nr+=2;
}
printf("%lld\n",nr);
return 0;
}