Pagini recente » Cod sursa (job #549179) | Cod sursa (job #1893193) | Cod sursa (job #1425385) | Cod sursa (job #2398854) | Cod sursa (job #190492)
Cod sursa(job #190492)
#include <stdio.h>
#define IN "pascal.in"
#define OUT "pascal.out"
int vd[10],v[10];
int p,x,y,d,r,nr;
void scan()
{
freopen(IN, "r",stdin);
freopen(OUT, "w",stdout);
scanf("%d%d", &r,&d);
for(int i=2;i<=5;++i)
while(!(d%i))
{
++vd[i];
d/=i;
}
}
void add(int xx)
{
for(int j=2;j<=5;++j)
{
p=0;
while(!(xx%j))
{
xx/=j;
++p;
}
v[j]+=p;
}
}
void sub(int yy)
{
for(int j=2;j<=5;++j)
{
p=0;
while(!(yy%j))
{
yy/=j;
++p;
}
v[j]-=p;
}
}
void check()
{
for(int i=2;i<=5;++i)
if(v[i]<vd[i])
return;
++nr;
}
void solve()
{
x=r; y=1;
for(int i=1;i<=(r-1)/2;++i)
{
add(x--);
sub(y++);
check();
}
nr*=2;
if(!(r%2))
{
add(x);
sub(y);
check();
}
printf("%d\n", nr);
}
int main()
{
scan();
solve();
return 0;
}