f的值是对的,cnt加的不对,帮忙看一下谢谢
查看原帖
f的值是对的,cnt加的不对,帮忙看一下谢谢
546830
XSean楼主2022/8/11 08:39
#include<iostream>
using namespace std;
int f=1;
void pdss(int a){//判断素数
	f=1;
	for(int i=2;i*i<=a;i++){
		if(a%i==0) f=0;
	}
}
int n;
int k;
int arr[1001]={};
int cnt=0;
int find(int k1,int sum1,int start,int end){
	if(k1==0){
		pdss(sum1);
	//	cout<<"f:"<<f<<endl;
		return f;
	}
	for(int i=start;i<=end;i++){
	//	cout<<"cnt:"<<cnt<<endl;
		cnt+=find(k1-1,sum1+arr[i],i+1,end);
	}
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>arr[i];
	} 
	find(k,0,1,n);
	cout<<cnt;	
	return 0;
}
2022/8/11 08:39
加载中...