Dev - C++ - Encontrar todos los subconjuntos que suman un valor dado

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 8 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Encontrar todos los subconjuntos que suman un valor dado

Publicado por taylor Pearson (3 intervenciones) el 05/03/2021 04:45:55
Intento armar el siguiente código donde debo ver si un valor dado es la suma de alguno de los subconjuntos del conjunto dado (en este caso {1,2,3}). Por ejemplo, si ingreso el valor 5, deseo que me salga que 5=3+2, o si ingreso 10 me salga que no existe subconjunto que al sumarlo de ese valor.

Ya logre hacer que me de todos los subconjuntos pero no se como hacer que se sumen sus valores e identifique lo que deseo. Si alguien podría explicarme por favor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
	int n=3;
	int arr[]={1,2,3};
	int v;
	int count = pow(2,n);
	int acum=0;
	cout << "Ingresa un valor: ";
	cin >> v;
	for (int i = 0; i < count; i++) {
		for (int j = 0; j < n; j++) {
			if ((i & (1 << j)) != 0){
				cout << arr[j] << " ";
			}
		}
		cout << "\n";
	}
 
	return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder