Cod sursa(job #215439)

Utilizator Ionescu_MariaIonescu Maria-Dorina Ionescu_Maria Data 18 octombrie 2008 17:56:02
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream.h>
long d,r,nr,f,f1,c;
long put(long p,long n)
{long f=0;
while(p<=n)
	{f+=n/p;
	p*=p;
	}
return f;
}
int main()
{ifstream fin("pascal.in");
fin>>r>>d;
fin.close();
ofstream fout("pascal.out");
if(d!=4&&d!=6)
	{nr=0;
	for(c=0;c<=r/2;c++)
		{f=put(d,r)-put(d,r-c)-put(d,c);
		 if(f>=1)
			nr++;
		 }
	nr*=2;
	if(r%2==0)
		nr--;
	fout<<nr<<'\n';
	}
	else
	if(d==4)
		{d=2;
		nr=0;
		for(c=0;c<=r/2;c++)
			{f=put(d,r)-put(d,r-c)-put(d,c);
			if(f>=2)
				nr++;
			}
		nr*=2;
		if(r%2==0)
			nr--;
		fout<<nr<<'\n';
		}
		else
		{nr=0;
		for(c=0;c<=r/2;c++)
			{f=put(2,r)-put(2,r-c)-put(2,c);
			f1=put(3,r)-put(3,r-c)-put(3,c);
			if(f<f1&&f>=1)
				nr++;
				else
				if(f1<f&&f1>=1)
					nr++;
			}
		nr*=2;
		if(r%2==0)
			nr--;
		fout<<nr<<'\n';
		}
fout.close();
return 0;
}