求助DALAO,本地无法跑过
查看原帖
求助DALAO,本地无法跑过
859671
huanghaoyu123456楼主2024/4/4 23:06
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=25;
int n,k,ans=0,a[N];
bool pr(int x)
{
	if(x<2)
		return false;
	for(int i=2;i<=sqrt(x);i++)
		if(x%i==0)
			return false;
	return true;
}
void dfs(int step,int sum,int t)
{
	if(step==k)
	{
		if(pr(sum)==true)
			ans++;
		return;
	}
	for(int i=t;i<=n;i++)
		dfs(step+1,sum+a[i],i+1);
	return;	
}

signed main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	dfs(0,0,1);
	printf("%lld",ans);
	return 0;
}
2024/4/4 23:06
加载中...