求助大佬
查看原帖
求助大佬
322705
Mr_Ender楼主2020/7/8 15:23
#include<iostream>
using namespace std;
int n,k,x[25],ans=0,book[20],a[25];
bool ss(int x){
	for(int i=1;i*i<=x;i++){
		if(x%i==0){
			return 0;
		}
	}
	return 1;
}
void dfs(int c,int h){
	if(c>k&&ss(h)){
		ans++;
		return;
	}
	for(int i=1;i<=n;i++){
		if(book[i]==0){
			book[i]=1;
			dfs(c+1,h+x[i]);
			book[i]=0;
		}
	}
	return;
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>x[i];
	}
	dfs(1,0);
	cout<<ans;
}
2020/7/8 15:23
加载中...