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