Pagini recente » Cod sursa (job #2084041) | Cod sursa (job #115024) | Cod sursa (job #2816876) | Cod sursa (job #1619397) | Cod sursa (job #1747147)
#include <cstdio>
int p[6];
inline int putere(int x, int prim)
{
int f=prim, ans=0;
while(f <= x)
{
ans+=x/f;
f*=prim;
}
return ans;
}
int main()
{
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
int r, d, ans=0, i, lim, x, y, a, b;
scanf("%d%d", &r, &d);
p[2]=putere(r, 2);
p[3]=putere(r, 3);
p[5]=putere(r, 5);
lim=r/2;
for(i=0;i<=lim;++i)
{
if(d!=4 && d!=6)
{
x=putere(r-i, d);
y=putere(i, d);
if(p[d] - x - y)
{
ans+=2;
if(i*2 == r) ans--;
}
}
if(d==4)
{
x=putere(r-i, 2);
y=putere(i, 2);
if(p[2] - x - y > 1)
{
ans+=2;
if(i*2 == r) ans--;
}
}
if(d==6)
{
x=putere(r-i, 2);
y=putere(i, 2);
a=putere(r-i, 3);
b=putere(i, 3);
if(p[2] - x - y > 0 && p[3] - a - b > 0)
{
ans+=2;
if(i*2 == r) ans--;
}
}
}
printf("%d", ans);
return 0;
}