Cod sursa(job #127668)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 24 ianuarie 2008 20:10:31
Problema Pascal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>

int main()
{
	long p,i,j,ii,ij,jj,d,sol=0,var;
	FILE*f=fopen("pascal.in","r");
	FILE*g=fopen("pascal.out","w");
	fscanf(f,"%ld %ld",&i,&d);

	if (d==4) {d=2;var=1;}
	else var=0;
	if (d == 6) d = 3, var = 1;
	//i!/(i-j)!*j!
	
	p=d;
	ii=0;

	while(i/p!=0) {ii+=i/p; p*=d;}	
	
	for(j=1;j<=i;j++)
	{
		jj=0; p=d;
		while (j/p!=0){jj+=(j/p); p*=d;}
		ij=0; p=d;
		while((i-j)/p!=0) {ij+=(i-j)/p; p*=d;}
		if ((ii-ij-jj>var)) sol++;
	}

	fprintf(g,"%ld",sol);
	return 0;
	
}