Pagini recente » Cod sursa (job #2680098) | Cod sursa (job #2516964) | Cod sursa (job #2270971) | Cod sursa (job #470719) | Cod sursa (job #570131)
Cod sursa(job #570131)
#include <stdio.h>
int main()
{
int i,R,D,sol,x,e2,e3,e5;
freopen("pascal.in","r",stdin);
scanf("%d%d",&R,&D);
e2=0;
e3=0;
e5=0;
sol=0;
if(D==2)
{
for(i=1;i<=R/2;i++)
{
x=i;
while(x%2==0)
{
e2--;
x/=2;
}
x=R-i+1;
while(x%2==0)
{
e2++;
x/=2;
}
if(e2>0)
{
sol+=2;
if(R%2==0&&i==R/2) sol--;
}
}
}
else
if(D==3)
{
for(i=1;i<=R/2;i++)
{
x=i;
while(x%3==0)
{
e3--;
x/=3;
}
x=R-i+1;
while(x%3==0)
{
e3++;
x/=3;
}
if(e3>0)
{
sol+=2;
if(R%2==0&&i==R/2) sol--;
}
}
}
else
if(D==4)
{
for(i=1;i<=R/2;i++)
{
x=i;
while(x%2==0)
{
e2--;
x/=2;
}
x=R-i+1;
while(x%2==0)
{
e2++;
x/=2;
}
if(e2>1)
{
sol+=2;
if(R%2==0&&i==R/2) sol--;
}
}
}
else
if(D==5)
{
for(i=1;i<=R/2;i++)
{
x=i;
while(x%5==0)
{
e5--;
x/=5;
}
x=R-i+1;
while(x%5==0)
{
e5++;
x/=5;
}
if(e5>0)
{
sol+=2;
if(R%2==0&&i==R/2) sol--;
}
}
}
else
if(D==6)
{
for(i=1;i<=R/2;i++)
{
x=i;
while(x%2==0)
{
e2--;
x/=2;
}
while(x%3==0)
{
e3--;
x/=3;
}
x=R-i+1;
while(x%2==0)
{
e2++;
x/=2;
}
while(x%3==0)
{
e3++;
x/=3;
}
if(e2>0&&e3>0)
{
sol+=2;
if(R%2==0&&i==R/2) sol--;
}
}
}
freopen("pascal.out","w",stdout);
printf("%d\n",sol);
return 0;
}