版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN___CSDN/article/details/82927914
#include <stdio.h>
int a[100],n,k,sum;
bool dfs(int i,int sum)
{
if(i==n) return sum==k;
if(dfs(i+1,sum))
{
return true;
}
if(dfs(i+1,sum+a[i]))
{
return true;
}
return false;
}
int main ()
{
sum=0;
n=6;
a[0]=1;a[1]=2;a[2]=3;a[3]=4,a[4]=6,a[5]=10;
k=12;
if(dfs(0,0))
{
printf("YES\n");
}
else
{
printf("NO\n");
}
return 0;
}