直接上代码
#include <bits/stdc++.h>
using namespace std;
int n,k,i,ans,m,b;
int a[21];
int zhishu(int x){
for(int i=2;i*i<=x;i++)
if(x%i==0)
return 0;
return 1;
}
void dfs(int y,int z){
if(y==0)
ans+=zhishu(b);
else{
z++;
for(int i=z;i<=n;i++){
b+=a[i];
y--;
dfs(y,i);
b-=a[i];
y++;
}
}
}
int main(){
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>a[i];
dfs(k,0);
printf("%d",ans);
return 0;
}
如果觉得写得好,记得点赞加关注!