Cod sursa(job #557709)

Utilizator Eugen01Vasilescu Eugen Eugen01 Data 16 martie 2011 19:58:50
Problema Pascal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
long long k,q,i,n,d,nr,a[100];

int main()
{
	freopen("pascal.in","r",stdin);
	freopen("pascal.out","w",stdout);
	scanf("%ld%ld",&n,&d);
	
	for(i=1;i<=n/2;i++)
	{
		q=n-i+1;
		while(q%2==0) 
		{
			a[2]++;
			q/=2;
		}
		while(q%3==0) 
		{
			a[3]++;
			q/=3;
		}
		while(q%5==0) 
		{
			a[5]++;
			q/=5;
		}	
		
		q=i;
		while(q%2==0) 
		{
			a[2]--;
			q/=2;
		}
		while(q%3==0) 
		{
			a[3]--;
			q/=3;
		}
		while(q%5==0) 
		{
			a[5]--;
			q/=5;
		}
			
		if((d==2&&a[2])||(d==3&&a[3])||(d==4&&a[2]>1)||(d==5&&a[5])||(d==6&&a[2]&&a[3])) nr+=2;
		if (!(n%2)&&(i==n/2)) nr--;
	}
	
	printf("%lld\n",nr);
	return 0;
}