xxs16pts求调
查看原帖
xxs16pts求调
1065753
__bjxx0201__楼主2024/7/10 21:37

代码如下:

#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 n,int sum,int k,int s) {//n个数,总和为sum;现选k,和为s 
	if (s>sum || k>n) return ;
	if (s==sum) {
		if (k==n && prime (s)) ans++;
		return ;
	}
	for (int i=1;i+a[i]<=sum;i++) 
	    dfs (n,sum,k+1,s+a[i]);
}
int main() {
	cin>>n>>k;
	for (int i=1;i<=n;i++) cin>>a[i];
	dfs (n,k,0,0);
	cout<<ans;
	return 0;
}
2024/7/10 21:37
加载中...