大佬求调
必贡献关注!!
#include <bits/stdc++.h>
using namespace std;
int n,k,a[25];
int cnt = 0;
bool pd(int x)
{
if (x == 1)
{
return false;
}
if (x == 2||x == 3)
{
return true;
}
for (int i = 2;i * i <= x;i++)
{
if (x % i == 0)
{
return false;
}
}
return true;
}
void dfs(int * a,int k,int num,int sum,int cnt,int n)
{
if (k == 0)
{
if (pd(sum))
{
cnt++;
}
return;
}
for (int i = num;i <= n;i++)
{
dfs(a,k - 1, i + 1,sum + a[i],cnt,n);
}
}
int main()
{
cin>>n>>k;
for (int i = 1;i <= n;i++)
{
cin>>a[i];
}
dfs(a , k , 1 , 0 , cnt , n);
cout<<cnt;
return 0;
}