求助一道题
  • 板块灌水区
  • 楼主shipeiqian
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/8/16 15:01
  • 上次更新2023/10/27 15:09:13
查看原帖
求助一道题
632063
shipeiqian楼主2022/8/16 15:01

学术版不知为什么发不了了

充满希望的拼接质数2

80pts code


#include <iostream>
#include <algorithm>
using namespace std;
int a[25],n,ans=0;
bool flag[100005];
bool c(int sum){
	if(sum==0||sum==1)return false;
	for(int i=2;i*i<=sum;i++){
		if(sum%i==0){
			return false;
		}
	}
	return true;
}
void f(int now,int sum){
	if(now==n+1){	
		if(c(sum)){
			ans++;
		}
		return ;
	}
	if(!flag[now]){
		flag[now]=true;
		f(now+1,sum+a[now]);
		flag[now]=false;
	}
	f(now+1,sum);		
}
int main(){
	cin >>n;
	for(int i=1;i<=n;i++)cin >>a[i];
	sort(a+1,a+1+n);
	f(1,0);
	cout <<ans;
	return 0;
}
2022/8/16 15:01
加载中...