这个题显然用到了深搜的内容
让我们跟着代码找思路
#include//万能头int n,k,a[25],ans;inline bool prime(int n)//最简单的判定素数的方法{ for(int i=2;i*i<=n;i++) { if (n%i==0) return 0; } return 1;}inline void dfs(int x,int p,int s)//DFS:无敌搜索轮{ if (p==k) //边界条件 { ans+=prime(s); return ; } if(x>=n) //边界条件 return ; dfs(x+1,p+1,s+a[x+1]);//若选择 dfs(x+1,p,s);//若不选}int main(){ scanf("%d%d",&n,&k);//输入 for(int i=1;i<=n;i++) scanf("%d",a+i);//读入 return dfs(0,0,0),printf("%d",ans),0;//大法师并输出qwq}