Pagini recente » Cod sursa (job #1190206) | Cod sursa (job #127140)
Cod sursa(job #127140)
#include <stdio.h>
int r, d, p[6], nr, v[5000];
int desc(int x,int d)
{
int contor = 0, i, c;
for (i = 2; i <= x; i++)
{
c = d;
while (x / c)
{
contor += (x/c);
c *= d;
}
}
return contor;
}
int main()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
int i, j, c, contor = 0, ok, x;
scanf("%d %d", &r, &d);
x = r;
for (i = 2; i <= 5; i++)
if (x % i ==0 ) while (x % i == 0) p[i]++, x/=i;
r++;
for (i = 2; i <= r / 2; i++)
{
for (j = 2; j <= i; j++)
{
c = 0; ok = 1;
if (c += desc(r,j))
c -= (desc(r-i,j));
c -= (desc(i,j));
if (c <= p[j]) {ok = 0; break;}
}
if (ok) contor++;
}
contor *= 2;
if (r % 2)
{ i = r / 2 + 1;
for (j = 2; j <= i; j++)
{
c = 0; ok = 1;
if (c += desc(r,j))
c -= (desc(r-i,j));
c -= (desc(i,j));
if (c < 0) {ok = 0; break;}
}
if (ok) contor++;
}
printf("%d\n",contor);
return 0;
}