Cod sursa(job #518855)

Utilizator ms-ninjacristescu liviu ms-ninja Data 3 ianuarie 2011 13:06:28
Problema Pascal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
int v[3]={2,3,5};
int a[3];


void solve(int x,int k)
{
	for(int i=0;i<=2;++i)
	{
		while(x%v[i]==0)
		{
			a[i]+=k;
			x/=v[i];
		}
	}
}

int main()
{
	ifstream fin("pascal.in");
	ofstream fout("pascal.out");
	
	int r, q, i;
	fin>>r >>q;
	
	int nr=0;
	for(i=1;i<=(r-1)/2+(r-1)%2;++i)
	{
		solve(r-i+1,1);
		solve(i,-1);
		
		if(q==6)
		{if(a[0]>=1 && a[1]>=1)++nr;}
	else
		if(q==5)
		{if(a[2]>=1)++nr;}
	else
		if(q==4)
		{if(a[0]>=2)++nr;}
	else
		if(q==3)
		{if(a[1]>=1)++nr;}
	else
		if(q==2)
		{if(a[0]>=1)++nr;}
	}
	
	if(r%2==0)
		fout<<nr*2-1;
	else
		fout<<nr*2;
		
		
		
		
		return 0;
	
}