求助
查看原帖
求助
1109386
lztmaer楼主2024/8/27 15:02
#include <iostream>
#include <math.h>
using namespace std;
int a[10000005]={0};
int ans=0;
int n,k;
int ss(int x)
{
	int j=2;
	if(x<2)
	{
		return 0;
	}
	if(x==2)
	{
		return 1;
	}
	while(j<=sqrt(x) && x%j!=0)
	{
		j++;
	}
	if(x%j==0)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}
int dg(int i,int num,int sum)
{
	if(num==0)
	{
		if(ss(num))
		{
			ans++;
		}
	}
	if(n-i<num)
	{
		return 0;
	}
	int cnt;
	for(int cnt=i;cnt<=n;cnt++)
	{
		dg(cnt+1,num-1,sum+a[cnt]);
	}
	return 0;
}
int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	dg(1,k,0);
	cout<<ans;
	return 0;
}
2024/8/27 15:02
加载中...