讨论区题解
#include<bits/stdc++.h>
using namespace std;
int n,k;
int a[23];
int ans=0;
bool sushu(int num){
for(int i=2;i<num;i++){
if(num%i==0){
return false;
}
}
return true;
}
int pro=0;
void dfs(int step,int shengyudeshu){
if(step==0){
if(sushu(pro)){
ans++;
return;
}
}else{
shengyudeshu++;
for(int i=shengyudeshu;i<=n;i++){
pro+=a[i];
step--;
dfs(step,i);
pro-=a[i];
step++;
}
}
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
dfs(k,0);
cout<<ans;
}