#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;
}
部分和问题
最新推荐文章于 2019-04-03 19:52:15 发布