I Love Dfs!!!!!!
#include<bits/stdc++.h>
using namespace std;
int sum,A[35],n,m,ans;
int check(int sum){
if(sum==1) return 0;
for(int i=2;i*i<=sum;i++){
if(sum%i==0) return 0;
}
return 1;
}
void dfs(int x,int c) {
if(c==m+1) {
ans+=check(sum);
return;
}
for(int i=x+1;i<=n;i++) {
sum+=A[i];
dfs(i,c+1);
sum-=A[i];
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>A[i];
}
dfs(0,1);
cout<<ans;
return 0;
}
暂无评论