求助
查看原帖
求助
941811
ngmhhy楼主2024/5/21 09:56
#include<bits/stdc++.h>
using namespace std;
int a[25],num=0,sum=0;
bool b[25];
int n,k,m;
void dfs(int l){
	if(l>n){
		for(int i=2;i<=sqrt(num);i++){
			if(num%i==0){
				return ;
			}
		} 
		sum++;
	}
	else{
		num+=a[l];
		for(int i=l;i<=m+l;i++){
			if(!b[l]){
				num+=a[i];
				b[l]=1;
				dfs(l+1);
				num-=a[i];
			}
			
		}
	}
}
int main(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	} 
	m=n-k+1;
	for(int i=1;i<=m;i++)
	dfs(i);
	printf("%d",sum);
}
2024/5/21 09:56
加载中...