求助
查看原帖
求助
951034
zcs2012楼主2023/12/2 21:51

#5W1A

#include<cstdio>
int num[(int)1e8];
int main(){
	int n,k,x[20],ans=0;
	scanf("%d%d",&n,&k);
	for(int i=0;i<n;i++)
		scanf("%d",x+i);
	auto p=[](int k)mutable->bool{
		if(k<2)return 0;
		for(int i=2;i*i<=k;i++)
			if(k%i==0)return 0;
		return 1;
	};
	for(int i=1;i<(1<<n);i++){
		if(__builtin_popcount(i)!=3)continue;
		int sum=0;
		for(int j=0;j<n;j++)
			sum+=(i&1<<j)?x[j]:0;
		if(p(sum)&&!num[sum])num[sum]=1,ans++;
	}
	printf("%d\n",ans);
	return 0;
}
2023/12/2 21:51
加载中...