Pagini recente » Cod sursa (job #2048456) | Cod sursa (job #2423154) | Cod sursa (job #308424) | Cod sursa (job #385620) | Cod sursa (job #248622)
Cod sursa(job #248622)
# include <stdio.h>
long p[7]; int D;
long long R;
int numar(long long k)
{
int nr=0;
long long x;
x=R-k;
while (x%D==0) { x=x/D; p[D]++;}
x=k+1;
while (x%D==0) { x=x/D; p[D]--;}
switch (D) {
case 2: nr=p[D]>=1; break;
case 3: nr=p[D]>=1; break;
case 4: nr=p[2]>=2; break;
case 5: nr=p[D]>=1; break;
case 6: nr=(p[2]>=1 && p[3]>=1); break;
}
return nr;
}
int main(){
long long k, nr=0;
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
scanf("%lld %d",&R,&D);
for (k=0;k<(R+1)/2-1;k++)
nr=nr+numar(k);
nr=nr*2;
if (R%2==0) nr=nr+numar(k);
printf("%lld",nr);
return 0;
}