0分求助
查看原帖
0分求助
1126661
L_xcy楼主2023/12/1 20:25
#include<bits/stdc++.h>
using namespace std;
int n,m,a[21],ans;
bool zs(int x)
{
	for(int i=2;i*i<=x;i++)
	{
		if(x%i==0)
			return 0;
	}
	return 1;
}
void dfs(int x,int v,int m)
{
	if(x==m)
	{
		if(zs(v))
		{
			ans++;
			v=0;
			return;
		}
		v=0;
	}
	for(int i=m+1;i<=n;i++)
	{
			dfs(x+1,v+=a[i],m+1);
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	dfs(0,0,0);
	cout<<ans;
	return 0;
}
2023/12/1 20:25
加载中...