首页 > 其他 > 详细

codevs1008

时间:2016-01-30 22:34:12      阅读:312      评论:0      收藏:0      [点我收藏+]

#include <stdio.h>
#include <math.h>

int n,k,num[25],ans;

bool Check(int n){
  for(int i=2;i<=sqrt(n);i++)
    if(n%i==0)
      return false;
  return true;
}

void DFS(int dex,int sum,int nu){

  if(nu==k&&Check(sum)){
    ans++;
    return ;
  }
  for(int i=dex+1;i<n;i++)
    DFS(i,sum+num[i],nu+1);
}

int main(){

  scanf("%d%d",&n,&k);
  for(int i=0;i<n;i++)
    scanf("%d",&num[i]);
   ans=0;
  DFS(-1,0,0);
  printf("%d\n",ans);
  return 0;
}

codevs1008

原文:http://www.cnblogs.com/huaixiaohai2015/p/5172018.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!