16分求救
查看原帖
16分求救
1065753
__bjxx0201__楼主2024/8/3 08:22

rt:

#include <bits/stdc++.h>
using namespace std;
int n,k,a[101],ans;
bool prime (int n) {
	if (n<2) return false;
	for (int i=2;i*i<=n;i++) 
	    if (n%i==0) return false;
	return true;
}
void dfs (int l,int sum,int now) {
	if (sum==k) {
		if (prime (sum)) ans++;
		return ;
	}
	for (int i=now+1;i<=n;i++) 
	    dfs (l+1,sum+a[i],now+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/8/3 08:22
加载中...