Pagini recente » Cod sursa (job #269486) | Cod sursa (job #2588680) | Cod sursa (job #1262820) | Cod sursa (job #2494221) | Cod sursa (job #127662)
Cod sursa(job #127662)
#include<stdio.h>
long r, d, c, contor, v[5000000];
void citire()
{
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf ("%ld %ld",&r,&d);
}
void descomp1(int d)
{
int i, j, nr;
for (i = 1; i <= r; i++)
{
nr = 0;
j = d;
while (i / j) {nr += i/j; j *= d;}
nr++;
v[i] = v[i - 1] + nr;
}
}
void descomp2(int d)
{
int i, j, nr;
for (i = 1; i <= r; i++)
{
nr = 0;
j = d;
while (i / j) {nr += i/j; j *= d;}
nr++;
v[i] = v[i - 1] + nr;
v[i] /= 2;
}
}
void descomp3()
{
int i, j, nr, d = 3;
for (i = 1; i <= r; i++)
{
nr = 0;
j = d;
while (i / j) {nr += i/j; j *= d;}
nr++;
v[i] = v[i - 1] + nr;
}
}
int main()
{
citire();
long i;
r++;
if (d == 4) descomp2(2);
else if (d == 6) descomp3();
else descomp1(d);
for (i = 1; i <= r ; i++)
if (v[r] - v[r-i] - v[i] > 0) contor++;
printf("%ld\n",contor);
return 0;
}