1 条题解
-
0
C++ :
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cctype> #include<iomanip> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; int n,k,x[1001],ans=0; bool prime(int a){ if(a==0||a==1) return 0; if(a==2) return 1; if(a%2==0) return 0; for(int i=3;i<=sqrt(a);i+=2) if(a%i==0) return 0; return 1; } void dnf(int e,int tot,int k1){ if(e==k) { if(prime(tot)) ans++; return; } for(int i=k1;i<n-k+e+2;i++) { dnf(e+1,tot+x[i],i+1); } } int main(){ int i,j; //freopen("num.in","r",stdin); //freopen("num.out","w",stdout); scanf("%d%d",&n,&k); for(i=1;i<=n;i++) scanf("%d",&x[i]); dnf(0,0,1); printf("%d\n",ans); return 0; }
- 1
信息
- ID
- 1940
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者