#include <stdio.h>
#include <math.h>
int n,k,num[25],ans;
bool Check(int n){
for(int i=2;i<=sqrt(n);i++)
if(n%i==0)
return false;
return true;
}
void DFS(int dex,int sum,int nu){
if(nu==k&&Check(sum)){
ans++;
return ;
}
for(int i=dex+1;i<n;i++)
DFS(i,sum+num[i],nu+1);
}
int main(){
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
scanf("%d",&num[i]);
ans=0;
DFS(-1,0,0);
printf("%d\n",ans);
return 0;
}
时间: 2024-12-28 18:45:31