部分和问题

来源:互联网 发布:一加手机抢购软件 编辑:程序博客网 时间:2024/06/05 17:20
#if 0    给定整数a1,a2,a3,a4...an,判断是否可以从中选出若干数,使它们的和恰为k#endif#include <stdio.h>#include <stdlib.h>int  Dfs(int i,int sum,int k,int *Array,int n){    if(i==n)        return sum==k;    if(Dfs(i+1,sum,k,Array,n))        return 1;    if(Dfs(i+1,sum+*(Array+i),k,Array,n))        return 1;    else        return 0;}void Solve(int i,int sum,int k,int *Array,int n){    if(Dfs(i,sum,k,Array,n))        printf("Yes\n");    else        printf("No\n");}int main(){    int A[4]={1,2,4,7};    Solve(0,0,13,A,4);    return 0;}

0 0