#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
int a[20];
vector<int> b;
void choose(int n, int k,int sum)//
{
if (k == 0)
{
b.push_back(sum);
return;
}
else if (n == -1)
return;
else
{
choose(n - 1, k - 1, sum + a[n]);
choose(n - 1, k, sum);
}
}
int is_prime(int num)
{
if (num < 2)
return 0;
for (int i = 2; i <= sqrt(num); i++)
if (num%i == 0)
return 0;
return 1;
}
int main()
{
int n, k;
cin >> n >> k;
for (int i = 0; i < n; i++)
cin >> a[i];
choose(n - 1, k, 0);
int cnt = 0;
for (int i = 0; i < b.size(); i++)
if (is_prime(b[i]))
cnt+=1;
cout << cnt;
return 0;
}
[NOIP2002 普及组] 选数
最新推荐文章于 2024-03-31 12:50:54 发布