16求助
查看原帖
16求助
1271019
kongjunwen楼主2024/6/22 18:11

上代码:

#include <iostream>
#include <map>
using namespace std;
int n,a[25],sum,m;
bool d1(int n)
{
    for(int i = 2;i * i<=n;i ++)
    {
        if(n%i==0)
        {
            return false;
        }
    }
    return true;
}
void dfs(int d,int cnt,int x)
{
	if(d>n)
	{
	    if(d1(cnt)&&x==m)
	    {
	        sum ++;
	    }
		return ;
	}
	dfs(d+1,cnt+a[d],x+1);
	dfs(d+1,cnt,x);
	return ;
}
int main()
{
	cin >> n >> m;
	for(int i = 1;i <= n;i ++)
	{
	    cin >> a[i];
	}
	dfs(1,0,0);
	cout << sum;
	return 0;
}

为啥错啊?

2024/6/22 18:11
加载中...