1 条题解

  • 0
    @ 2025-4-7 21:38:07

    C++ :

    #include<iostream>
    #include<cmath>
    #include<cstdio>
    using namespace std;
    int n,sum=0,n1,a[200];
    bool sushu (int x)
    {
      int i,j;
      if (x==1)
      return false;
      if (x==2)
      return true;
      for (i=2;i<=sqrt(x);i++)
      if (x%i==0)
      return false;
      return true;
    }
    void dfs (int i,int j,int k)
    {
      int i1;
      if (j>n)
      {
       if (sushu(i))
       ++sum;
       return ;
      }
      else
      for (i1=k+1;i1<=n1;i1++)
       dfs(i+a[i1],j+1,i1);
    }
    int main ()
    {
      int i,j;
      cin>>n1>>n;
      for (i=1;i<=n1;i++)
      cin>>a[i];
      dfs(0,1,0);
      cout<<sum;
      return 0;
    }
    
    
    • 1

    信息

    ID
    1927
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者