Cod sursa(job #58571)

Utilizator FlorianFlorian Marcu Florian Data 6 mai 2007 14:29:04
Problema Pascal Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
int main()
{long long unsigned x,p,i,j,ii,ij,jj,d,sol=0;
FILE*f=fopen("pascal.in","r");
FILE*g=fopen("pascal.out","w");
fscanf(f,"%llu %llu",&i,&d);
//i!/(i-j)!*j!
if (d==2||d==3||d==5)
	{
	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>0)) sol++;
		}}
/*else if (d==4)
	{
	 ii=0;
	 x=i;
	 while((x&1)==0)
		{
		ii++;
		x=(x>>1);}
	 for(j=1;j<i;j++){
	 x=j; jj=0;
	 while((x&1)==0)
		{
		jj++;
		x=(x>>1);
		}
	 x=(i-j); ij=0;
	 while((x&1)==0)
		{ij++;
		x=(x>>1);}
	 if (ii-jj-ij>1) sol++;    }
	 }

*/fprintf(g,"%llu",sol);
return 0;}