Cod sursa(job #69824)

Utilizator omu_salcamtache tudor omu_salcam Data 4 iulie 2007 11:47:37
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
#include<string.h>
long factr,facti,factri,a,b,n,i,j,r,d;
FILE *f1,*f2;
int main(){
f1=fopen("pascal.in","r");
f2=fopen("pascal.out","w");
fscanf(f1,"%ld%ld",&r,&d);
factr=1;
for(i=1;i<=r;factr=factr*i,i++);
factri=factr;
facti=1;
for(i=0;i<=(r+1)/2+(r+1)%2-1;i++){
	if(i!=0){
		facti=facti*i;
		if(r-i+1!=0){
			factri=factri/(r-i+1);
		}
	}
	if(factr/factri/facti%d==0){
		b++;
		if(i==(r+1)/2+(r+1)%2-1){
			a=1;
		}
	}
}
b=b*2;
if(a && (r+1)%2){
	b--;
}
fprintf(f2,"%ld",b);
return 0;
}