Pagini recente » Cod sursa (job #515373) | Cod sursa (job #1338722) | Cod sursa (job #614551) | Cod sursa (job #511958) | Cod sursa (job #796196)
Cod sursa(job #796196)
#include <stdio.h>
int c[5000100];
int d,n;
int legendre(int n,int k)
{
int s;
int p=k;
while(p<=n)
{
s+=(n/p);
p=p*k;
}
return s;
}
int a;
int sol;
int main()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%d%d",n,d);
if(d==6)
a=legendre(n,2)+legendre(n,3);
else if(d==4)
a=legendre(n,2)/2;
else
a=legendre(n,d);
c[0]=0;
for(int i=1;i<=n;i++)
{
if(i%d==0)
{
c[i]=c[i/d]+1;
}
else
c[i]=0;
}
for(int i=1;i<=n;i++)
{
if((a-c[n-i]-c[i])>0)
sol++;
}
printf("%d",sol);
return 0;
}