Pagini recente » Cod sursa (job #551394) | Cod sursa (job #1589882) | Cod sursa (job #1042839) | Cod sursa (job #603443) | Cod sursa (job #940100)
Cod sursa(job #940100)
#include <cstdio>
#include <iostream>
using namespace std;
int r, nr, d, i, f, p;
int exponent(int r, int d)
{
int f=0, p;
p=d;
while(r/p)
{
f+=r/p;
p*=d;
}
return f;
}
int main()
{
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
scanf("%d %d", &r, &d);
for(i=0;i<=r/2;++i)
{
f=0;
if(d==2||d==3||d==5)
f=exponent(r, d)-exponent(i, d)-exponent(r-i, d);
else if(d==4)
{
f=exponent(r, 2)-exponent(i, 2)-exponent(r-i, 2);
f*=2;
}
else if(d==6)
f=min(exponent(r, 2), exponent(r, 3))-min(exponent(i, 2), exponent(i, 3))-min(exponent(r-i, 2), exponent(r-i, 3));
if(f>0)
nr++;
}
if(r%2)
printf("%d\n", 2*nr);
else
printf("%d\n", 2*nr-1);
return 0;
}