一个神奇但油饼的思路
查看原帖
一个神奇但油饼的思路
709872
madicine_killer_king楼主2023/12/4 12:38
#include <bits/stdc++.h>
using namespace std;
int n, k, ans;
int a[1000000];

bool isprime(int x) {
	if (x == 0 || x == 1)
		return 0;
	for (int i = 2; i * i <= x; i++) {
		if (x % i == 0)
			return false;
	}
	return 1;
}

int main() {
	cin >> n >> k;
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	for (int i = 0; i < (1 << n); i++) {
		if (__builtin_popcount(i) == k) {
			int sum = 0;
			for (int j = 0; j < n; j++) {
				if (i & (1 << j))
					sum += a[n - 1 - j];
			}
			if (isprime(sum))
				++ans;
		}
	}
	cout << ans;
	return 0;
}
2023/12/4 12:38
加载中...