#include int conjunto[3] = {1,2,3}; int pertence_ao_subconjunto[3] = {0,0,0}; void verifica_solucao () { int i; int ja_imprimiu = 0; printf ("{"); for (i = 0; i < 3; i++) if (pertence_ao_subconjunto[i]) { if (ja_imprimiu) { printf (", %d", conjunto[i]); } else { printf ("%d", conjunto[i]); ja_imprimiu = 1; } } printf ("}\n"); } void gera_solucao(int n) { if (n == 3) verifica_solucao(); else { pertence_ao_subconjunto[n] = 0; gera_solucao (n + 1); pertence_ao_subconjunto[n] = 1; gera_solucao (n + 1); } } int main () { gera_solucao (0); return (0); }