球调QWQ
查看原帖
球调QWQ
1277657
Yaoshui_lv楼主2024/8/19 11:42
#include <bits/stdc++.h>
using namespace std;

long long n, k, ans;
int a[20+1];

bool judge(long long n) {
	if (n < 2) return 0;
	for (int i = 1; i*i <= n; i++)
		if (n % i == 0) return false;
	return true;
}

void dfs(int x, int sum, int s) {
	if (x >= k) {
		if (judge(sum)) ans++;
		return ;
	}
	for (int i = s; i < n; i++) {
		dfs(x+1, sum+a[i], i+1);
	}
	return ;
}

int main() {
	cin >> n >> k;
	for (int i = 0; i < n; i++) cin >> a[i];
	dfs(0, 0, 0);
	cout << ans << endl;
	return 0;
}
2024/8/19 11:42
加载中...