#16分,萌新求助
查看原帖
#16分,萌新求助
577957
Ohhhhhh321楼主2021/11/9 12:21
#include<stdio.h>
#include<math.h>
int ans=0,sum=0,n,k,i,p[1000]; 
int ss(int a){
	if(a==1||a==0)
	return 0;
	for(int i=2;i<=sqrt(a);i++){
		if(a%i==0)
		return 0;	
	}
	return 1;
}
void dfs(int a,int b){     //a为目前加了几个数,b为现在加到第几个数 

	for(i=b;i<=n;i++){
		sum+=p[i];
		if(a==k){
		int u=ss(sum);
		if(u==1)
		ans++;
	}
	else
		dfs(a+1,i+1);
		sum-=p[i];
	}
}
int main(){
	scanf("%d %d",&n,&k);
	for(i=1;i<=n;i++)
	scanf("%d",&p[i]);
	dfs(1,1);
	printf("%d",ans);
	return 0;
}
2021/11/9 12:21
加载中...