#include"bits/stdc++.h"
using namespace std;
int n,m,cnt;
int s[25];
bool ss(int x){
for(int i=2;i<=sqrt(x);i++){
if(x%i==0) return 0;
}
return 1;
}
// index 数字的下标 sum 累加的值 num 累加的次数
void dfs(int index,int sum,int num)
{
if(num == m){
if(ss(sum)) cnt++;
cout << sum << endl;
}
for(int i = index ; i <=n ; i++){
dfs(i+1,sum+s[i],num+1);
}
}
int main()
{
cin >> n >> m;
for(int i=1;i<=n;i++) cin >> s[i];
dfs(1,0,0);
cout << cnt << endl;
return 0;
}
不会dfs 看别的博主代码 慢慢学着写