16分:如何合理挑选数字
查看原帖
16分:如何合理挑选数字
526356
Zhang_JY楼主2023/7/12 23:01
#include<bits/stdc++.h>
using namespace std;
int n=0;
int k=0;
int t[21]={};
int a[21]={};
bool b[21]={};
int c[21]={};
int sum=0;
int ans[21]={};
//int ans=0;
int cnt=0;
int pd(int n){
	for(int i=2;i*i<=n;i++){
		if(n%i==0){
			return 0;
		}
	}
	return 1;
}
int save(){
	int i=1;
	for(i=1;i<=n;i++){
//		c[i]=a[i];
		sum+=a[i];
		
	}
	ans[i]=sum;
//	cnt++;
}
void search(int x){
	for(int i=1;i<=k;i++){
		if(!b[i]){
			a[x]=i;//best
			b[i]=1;
			if(x==n){
				save();
				cnt++;
			}else{
				search(x+1);
			}
			b[i]=0;
		}
	}
}
int main(){
//	cin>>n;
//	cout<<pd(n);
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>t[i];
	}
	search(2);
	int var=0; 
	for(int i=1;i<=cnt;i++){
		if(pd(ans[i])==1){
			var++;
		}
	}
	cout<<var;
	return 0;
}
2023/7/12 23:01
加载中...