Cod sursa(job #716655)

Utilizator iarbaCrestez Paul iarba Data 19 martie 2012 08:52:21
Problema Pascal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
long k,p2,p3,p5,n,i,d,p;
FILE *f,*g;
int main()
{
	k=0;
	f=fopen("pascal.in","r");
	g=fopen("pascal.out","w");
	fscanf(f,"%ld%ld",&n,&d);
	p2=0;p3=0;p5=0;
	for(i=0;i<=n/2-1;i++){
		p=2;
		while((n-i>p)||(i+1>p)){p2+=(n-i)/p;p2-=(i+1)/p;p*=2;}
		p=3;
		while((n-i>p)||(i+1>p)){p3+=(n-i)/p;p3-=(i+1)/p;p*=3;}
		p=5;
		while((n-i>p)||(i+1>p)){p5+=(n-i)/p;p5-=(i+1)/p;p*=5;}
		if(d==2){if(p2>0){k+=2;if((n/2)&&(i==n/2-1)){k--;}}}
		if(d==3){if(p3>0){k+=2;if((n/2)&&(i==n/2-1)){k--;}}}
		if(d==4){if(p2>1){k+=2;if((n/2)&&(i==n/2-1)){k--;}}}
		if(d==5){if(p5>0){k+=2;if((n/2)&&(i==n/2-1)){k--;}}}
		if(d==6){if((p2>0)&&(p3>0)){k+=2;if((n/2)&&(i=n/2)){k--;}}}
	                   }
	fprintf(g,"%lld",k);
return 0;
}