A120.选数 题解
2025-06-07 22:22:29
发布于:北京
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int x[25];
bool isprime(int n){
if (n==1) return false;
for (int i=2;i*i<=n;i++){
if (n%i==0) return false;
}
return true;
}
int main(){
int n,k,c=0;
cin>>n>>k;
for (int i=0;i<n;i++) cin>>x[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>>j)%2==1) sum+=x[j];
}
if (isprime(sum)) c++;
}
}
cout<<c;
return 0;
}
这里空空如也
有帮助,赞一个