搜索33分求助!!!!
查看原帖
搜索33分求助!!!!
725397
zhangchengyi356535楼主2023/4/2 11:50
#include <bits/stdc++.h>
using namespace std;
int n,k,a[30],ans;
int ok(int x){
	if(x==2){
		return 1;
	}
	if(x==1){
		return 0;
	}
	for(int i=2;i<x;i++){
		if(x%i==0){
			return 0;
		}
	}
	return 1;
}
void dfs(int he,int jg,int bian){
	if(jg>k){
		if(ok(he)==1){
			ans+=1; 
		} 
		return ;
	} 
	if(bian>n) return;
	dfs(he,jg,bian+1);
	dfs(he+a[bian],jg+1,bian+1);
	return;
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	dfs(0,0,1);
	cout<<ans<<endl;
	return 0;
}
2023/4/2 11:50
加载中...