看看哪里不行,我就过了第二个点
#include<bits/stdc++.h>
using namespace std;
int a[21],f[21],n,k,ans,total;
int bp(int x)
{
int flag=0;
for(int i = 2 ; i <= sqrt(x) ; i++)
if(x % i == 0)flag++;
if(flag==0)
return 1;
else
return 0;
}
void dfs(int x)
{
if(x>k)
{
return;
}
else{
for(int i = 1 ; i <= n ; i++)
{
if(f[i]=0)
{
f[i] = 1;
ans += a[i];
total += bp(ans);
dfs(x+1);
f[i] = 0;
ans -= a[i];
}
}
}
}
int main(){
cin >> n >> k ;
for(int i = 1 ; i <= n ; i++)
cin >> a[i];
dfs(1);
cout << total;
return 0;
}