Pagini recente » Cod sursa (job #3204505) | Cod sursa (job #3280604) | Cod sursa (job #1216409) | Cod sursa (job #1722253) | Cod sursa (job #159016)
Cod sursa(job #159016)
#include<stdio.h>
#include<iostream.h>
#define RMAX 5000001
/// f: R / (C*(R-C))
long r,aux,i,j,var;
int d,v[RMAX],sol;
int algoritm()
{
for(i=1;i<=r;i++)
{aux=i; var=0;
while(aux%d==0) {aux/=d; var++;}
for(j=i;j<=r;j++) v[j]+=var; }
}
main()
{freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%ld %d",&r,&d);
if(d%2==0)
for(i=1;i<=r;i++)
{aux=i; var=0;
while( (aux&1)==0 ) {aux=(aux>>1); var++;}
for(j=i;j<=r;j++) v[j]+=var; }
else algoritm();
for(i=0;i<=r;i++)
{int x=v[r]-v[r-i]-v[i];
if(x>0) sol++; }
printf("%d\n",int(sol)); }