Cod sursa(job #1747237)

Utilizator cyprcCristea Ciprian - Raul cyprc Data 24 august 2016 17:18:22
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<fstream>

//int cout(int a, int b)
//{
//	int nr = 0;
//	while (a%b == 0){
//		a =a/ b;
//		nr++;
//	}
//	return nr;
//}
//
//int main()
//{
//	std::ifstream f("fact.in");
//	std::ofstream g("fact.out");
//	int p;
//	f >> p;
//	int p2 = 0, p5 = 0;
//	int i = 1;
//	while (p2 < p || p5 < p)
//	{
//		p2 += cout(i, 2);
//		p5 += cout(i, 5);
//		i++;
//	}
//	g << i;
//	f.close();
//	g.close();
//	return 0;
//}
bool prim(int n)
{
	if (n == 1) return false;
	for (int i = 2; (int) i < sqrt(n); i++)
	{
		if (n%i == 0) 
			return false;
	}
	return true;
}

inline int Factorial(int x) {
	return (x == 1 ? x : x * Factorial(x - 1));
}
int main()
{
	std::ifstream f("kprime.in");
	std::ofstream g("kprime.out");
	int n, k;
	f >> n >> k;
	int nr = 0;
	int x;
	for (int i = 0; i < n; i++)
	{
		f >> x;
		if (prim(x)) nr++;
	}
	g << Factorial(nr) / Factorial(nr - k) / Factorial(k);
	f.close();
	g.close();
	return 0;
}