Pagini recente » Cod sursa (job #2666507) | Cod sursa (job #767458) | Cod sursa (job #2680830) | Cod sursa (job #2087460) | Cod sursa (job #2774679)
#include<stdio.h>
int n,d,c,i,p[5000003],q[5000003];
void C(int l,int v[])
{
v[0]=0;
int i,j;
for(i=l;i<=n;i*=l)
for(j=i;j<=n;j+=i)
++v[j];
for(i=1;i<=n;++i)
v[i]+=v[i-1];
}
int main()
{
freopen("pascal.in","r",stdin),freopen("pascal.out","w",stdout),scanf("%d%d",&n,&d);
if(d==2||d==3||d==5) {
C(d,p);
for(i=1;i<n;++i)
if(p[n]-p[i]-p[n-i])
++c;
} else if(d==4) {
C(2,p);
for(i=1;i<n;++i)
if(p[n]-p[i]-p[n-i]>=2)
++c;
} else {
C(2,p),C(3,q);
for(i=1;i<n;++i)
if(p[n]-p[i]-p[n-i]&&q[n]-q[i]-q[n-i])
++c;
}
printf("%d",c);
return 0;
}