Pagini recente » Cod sursa (job #923199) | Cod sursa (job #248525) | Cod sursa (job #2003546) | Cod sursa (job #948378) | Cod sursa (job #1747237)
#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;
}