救救我╮(╯﹏╰)╭
查看原帖
救救我╮(╯﹏╰)╭
1395166
dt2033楼主2024/7/24 19:26

代码:

#include<bits/stdc++.h>
using namespace std;
int n,k,a[100],ans;
bool isp(int x){
	if(x==1){
		return false;
	}
	for(int i=2;i<=x/i;i++){
		if(x%i==0){
		return false;
	}
	else{
		return true;
	}
	}
}
void dfs(int st,int sum,int cnt){
	if(cnt==k){
		if(isp(sum)){
			++ans;
		}
		else{
			return ;
		}
	}
	if(cnt+n-st+1<k){
		return ;
	}
	for(int i=st;i<=n;i++){
		dfs(i+1,sum+a[i],cnt+1);
	}
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	dfs(1,0,0);
	cout<<ans;
	return 0;
}

2024/7/24 19:26
加载中...