the simplest code could be for this question is
void printAllSubsetSum(int ar[], int n, int x)
{
for (i = 0; i < (1<<n); i++)
{
int sum = 0;
for (j = 0; j < n; j++)
{
if ( (1 << j) && i) sum += ar[j];
}
if (sum == x)
{
for (j = 0; j < n; j++)
{
if ( (1 << j) && i) printf("%d ", ar[j]);
}
printf("\n");
}
}
}
Time complexity O(2^n)
this can be solved using DP in O(n * given number);
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.