有没有大佬帮忙捞一下,没看出来错哪里了
#include<bits/stdc++.h>
using namespace std;
int n,k;
int num[30],f[30],ans;
void ckn(){
int sum=0;
for(int i=1;i<=n;i++){
sum+=f[i];
}
for(int i=2;i<sum;i++){
if(sum%i==0){
return;
}
}
ans++;
return;
}
bool chk(int a){
for(int i=1;i<=k;i++){
if(f[i]>=a) return false;
}
return true;
}
void dfs(int dep){
if(dep==k+1){
ckn();
return;
}
for(int i=1;i<=n;i++){
if(chk(num[i])){
f[dep]=num[i];
dfs(dep+1);
f[dep]=0;
}
}
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>num[i];
}
dfs(1);
cout<<ans<<endl;
return 0;
}