题解
【入门】组合+判断素数
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long n,k,a[99],cnt; int ss(int k){ if(k<=1){ return 0; } for(int j=2;j*j<=k;j++){ if(k%j==0){ return 0; } } return 1; } void xuan_and_pan(long long g,long long wei,long long s){ s+=a[wei]; if(g!=k){ if(wei<n){xuan_and_pan(g+1,wei+1,s);} }else{ if(ss(s)){ cnt++; } } if(wei<n){ xuan_and_pan(g,wei+1,s-a[wei]);} } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } xuan_and_pan(1,1,0); cout<<cnt; return 0; }
- 1