Cod sursa(job #427073)
Utilizator | Data | 27 martie 2010 14:44:23 | |
---|---|---|---|
Problema | Pascal | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.38 kb |
#include<cstdio>
int R,D,nr,fact[1<<23];
int nrf(int f,int x)
{
int q=0;
while(x%f==0)
x/=f , ++q;
return q;
}
int main()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%d%d",&R,&D);
for(int i=1;i<=R;i++)
fact[i]=fact[i-1]+nrf(D,i);
for(int i=1;i<=R;i++)
if(fact[R]-fact[i]-fact[R-i]>0)
nr++;
printf("%d",nr);
return 0;
}