1 solutions
-
0
C++ :
#include<cstdio> #include<iostream> #include<cstring> #include<cmath> using namespace std; int a[100]={0},b[100]={0}; int m,k,tot=0; void zuhe(int,int); bool prime(int); int main() { //freopen("select4.in","r",stdin); //freopen("select.out","w",stdout); cin>>m>>k; a[0]=k; for(int i=1;i<=m;i++) cin>>a[i]; zuhe(m,k); cout<<tot<<endl; return 0; } bool prime(int x) { if(x<2)return false; bool flag=true; for(int i=2;i<=floor(sqrt(x));i++) { if(x%i==0) { flag=false; break; } } return flag; } void zuhe(int m,int k) { for(int i=m;i>=k;i--) { b[k]=i; if(k==1) { int sum=0; for(int j=1;j<=a[0];j++)sum+=a[b[j]]; if(prime(sum)) { tot++; //cout<<sum<<' '; } } else zuhe(i-1,k-1); } }
- 1
Information
- ID
- 17942
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By