Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2015, 07:25
amchacon
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Permutaciones

Dados unos números del 0 al N... Imprimir por pantalla todas las permutaciones posibles.

A mí se me ha ocurrido esta manera para N = 3
Código C++:
Ver original
  1. N = 3;
  2. for (int i = 0;i<N;i++)
  3. {
  4.     for (int j = 0;j<N;j++)
  5.     {
  6.         if (i == j) continue;
  7.        
  8.         for (int k = 0;k<N++)
  9.         {
  10.             if (i == k || j == k) continue;
  11.            
  12.             cout<<i<<','<<j<<','<<k<<endl;
  13.         }
  14.     }
  15. }

Código:
//Es el mismo código que antes, pero sin el colorido.
N = 3;
for (int i = 0;i<N;i++)
{
    for (int j = 0;j<N;j++)
    {
        if (i == j) continue;
        
        for (int k = 0;k<N++)
        {
            if (i == k || j == k) continue;
            
            cout<<i<<','<<j<<','<<k<<endl;
        }
    }
}
Ahora, como generalizo este algoritmo para un N cualquiera?. He estado pensando pero no me sale.