您的位置:首页 > 其它

深搜从n个数中找和为k的数

2015-08-06 21:19 232 查看
#include<stdio.h>

int find(int n,int k,int a[],int sum,int pos);

int a[1002];

int main()

{

int n,k,sum=0;

scanf("%d%d",&n,&k);

for(int i=0;i<n;i++)

{

scanf("%d",&a[i]);

}

if(find(n,k,a,sum,0)) //如果能找到输出yes

printf("YES\n");

else

printf("NO\n");

return 0;

}

int find(int n,int k,int a[],int sum,int pos)

{

if(sum==k)

return 1; //找到

if(pos>n)

return 0;

if(find(n,k,a,sum+a[pos],pos+1)) return 1; //找到

if(find(n,k,a,sum,pos+1)) return 1; //找到

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: