Cod sursa(job #194940)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 15 iunie 2008 13:33:10
Problema Pascal Scor 50
Compilator c Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>

int n,p[100],d,x,i;
long long sol=0;
void pascal1()
{

x=n-i;
while (x%2==0)
	     x/=2,
	     p[2]++;
while (x%3==0)
	     x/=3,
	     p[3]++;
while (x%5==0)
	     x/=5,
	     p[5]++;

x=i+1;
while (x%2==0)
	     x/=2,
	     p[2]--;
while (x%3==0)
	     x/=3,
	     p[3]--;
while (x%5==0)
	     x/=5,
	     p[5]--;


if (d==2) sol+=(p[2]>=1);

   if (d==3) sol+=(p[3]>=1);

       if (d==4) sol+=(p[2]>=2);

	  if (d==5) sol+=(p[5]>=1);

	     if (d==6) sol+=(p[2]>=1 && p[3]>=1);
}

int main()
{
freopen("pascal.in","rt",stdin);
freopen("pascal.out","wt",stdout);
scanf("%d%d", &n, &d);
for (i=0; i<(n+1)/2-1; i++)
pascal1();
sol*=2;
if (n%2==0)
pascal1;
printf("%ld\n", sol);
return 0;}