int SetGenereator(TREE table,int *num,int target,int i) { int count=0; if (i==table.n) return count+=SetCheck(table,num,target); table.truefalse=false; SetGenereator(table,num,target,i+1); table.truefalse=true; SetGenereator(table,num,target,i+1); return count; }int SetCheck(TREE table,int *numbers,int target) { int i=0,sum=0; for(;i<table.n;i++) { sum+=numbers*table.truefalse; if (sum > target) return 0; } if (sum==target) { printline(table,numbers,target); return 1; } return 0; }
|