这题我的代码死循环是怎么回事 awa。
#include<bits/stdc++.h>
using namespace std;
int n,a[1000010],num[30],c[30],ans;
int main(){
a[1]=1;
a[0]=1;
for(int i=2;i<=1000000;i++)
if(!a[i])
for(int j=i*2;j<=1000000;j+=i)
a[j]=1;
cin>>n;
for(int i=1;i<=n;i++){
cin>>num[i];
}
for(int i=1;i<=(1<<n);i++){
int sum=0;
for(int j=1;j<=n;j++){
c[j]=i%2;
i/=2;
}
for(int j=1;j<=n;j++){
if(c[j])
sum+=num[j];
}
if(!a[sum])
ans++;
}
cout<<ans;
return 0;
}