求助
查看原帖
求助
545607
lcwx楼主2021/12/1 17:03

有什么不对吗大佬QWQ

#include<bits/stdc++.h>
using namespace std;
long long sum=0,tot=0,n,k,n1[21],k1[21];
int pd(long long a){
	if(a==0||a==1){
		return 0;
	}
	for(int i=2;i<=sqrt(a);i++){
		if(a%i==0){
			return 0;
		}
	}
	return 1;
}
void a(long long s){
	if(pd(tot)&&s==k){
		sum++;
		return;
	}else{
		for(long long  i=0;i<n;i++){
			if(k1[i]==0){
				k1[i]=1;
				tot+=n1[i];
				a(s+1);
				k1[i]=0;
				tot-=n1[i];
			}
		}
	}
}
int main()
{
	cin>>n>>k;
	for(int i=0;i<n;i++){
		cin>>n1[i];
	}
	a(0);
	cout<<sum;
 	return 0;
}

2021/12/1 17:03
加载中...