求助!为什么这个代码运行错误啊
查看原帖
求助!为什么这个代码运行错误啊
471183
就想养条狗楼主2021/9/25 16:09
#include<bits/stdc++.h>
using namespace std;

static vector<int> v;

bool prinum(int x)
{
  for(int t = 2;t <= sqrt(x);t++)
  {
    if((x % t) == 0)
      return false;
  }
  return true;
}

void setc(int left_num,int begin,int end,int sum,int* a)
{
  if(left_num == 0)
  {
    if(prinum(sum))
      v.push_back(sum);
    return ;
  }
  for(int i = begin;i <= end;i++)
  {
    setc((left_num - 1),(begin + 1),end,(sum + a[i]), a);
  }
  return ;
}

int main()
{
  int n,k;
  cin >> n >> k;
  int a[n];
  int counts = 0;
  for(int i = 0;i < n;i++)
    cin >> a[i];
  setc(k,0,n - 1,0,a);
  sort(v.begin(),v.end());
  cout << v.size();
  for(int i = 0;i < v.size();i++)
  {
    if(v[i] != v[i + 1])
    {
        counts++;
    }
  }
  cout << counts;
}

2021/9/25 16:09
加载中...