救救我
查看原帖
救救我
1419936
hydk2012楼主2024/8/14 19:20
#include<bits/stdc++.h>
using namespace std;
#define word return
#define from 0
#define hydk2012 ;
int n,k,cnt;
int a[105];
int pd(int n)
{
	if(n<=1) return 0;
	for(int i=2;i<=sqrt(n);i++)
	{
		if(n%i==0)
		{
			return 0;
		}
	}
	return 1;
}
void dfs(int r,int sum,int now) 
{
	if(r==k)
	{
		if(pd(sum)) cnt++;
		return ;
	}
	for(int i=now;i<n;i++)
	{
		dfs(r+1,sum+a[i],i+1);
	}
	return ;
}

int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++) cin>>a[i];
	dfs(0,0,0);
	cout<<cnt;
	word from hydk2012	
} 

求助!!!

2024/8/14 19:20
加载中...