fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n,i,k,j,l,m,fact; //declaracion de variables
  6. //declaracion del vector permutacion
  7. cout<<"Introduzca el tamaño de nuestra permutacion.- ";
  8. cin>>n; //entrada del tamañano de la permutacion
  9. fact=1;
  10. for(i=2;i<=n-1;i++)
  11. {
  12. fact=fact*i; //calculo de el factorial para calcular n-1 factorial
  13. }
  14. cout<<"Seran "<<fact*n<<" permutaciones"<<endl;
  15. int p[n]; //Declaracion del arreglo de permutacion
  16.  
  17. for (j=0;j<n;j++)
  18. {
  19. p[j]=j+1; //Le damos las prieras entradas a la permutación 1,2,3,...,n
  20. }
  21. m=(fact)/(n-2); // calculamos el numero de veces que se deben cambiar las entradas fijando la primera entrada
  22. for (i=0;i<n;i++) //empieza el contador de las permutaciones cambiando la primera entrada cada despues de m permutaciones
  23. {
  24. for(l=0;l<m;l++) //fijando la primera entrada se comienza a contar dejando la primera entrada fija iteramos m veces las siguientes entradas
  25. {
  26. for(k=0;k<(n-1);k++) // se hace el cambio de las ultimas entradas recursivamente hasta llegar a la segunda, sin cambiar la primera
  27. {
  28. for (j=0;j<n;j++)
  29. {
  30. cout <<p[j]; //escribimos como va quedando nuestra permutacion
  31. }
  32. cout<<endl;
  33. swap(p[n-k-1],p[n-(k+1)-1]); //cambio de las ultimas entradas
  34. }
  35. }
  36. swap(p[0],p[i+1]); //cambio de la primera entrada por la segunda
  37. }
  38. return 0;
  39. }
Success #stdin #stdout 0s 3416KB
stdin
6
stdout
Introduzca el tamaño de nuestra permutacion.- Seran 720 permutaciones
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
213456
213465
213645
216345
261345
621345
621354
621534
625134
652134
562134
562143
562413
564213
546213
456213
456231
456321
453621
435621
345621
345612
345162
341562
314562
134562
134526
134256
132456
123456
213456
213465
213645
216345
261345
621345
621354
621534
625134
652134
562134
562143
562413
564213
546213
456213
456231
456321
453621
435621
345621
345612
345162
341562
314562
134562
134526
134256
132456
123456
213456
213465
213645
216345
261345
621345
621354
621534
625134
652134
562134
562143
562413
564213
546213
456213
456231
456321
453621
435621
345621
345612
345162
341562
314562
134562
134526
134256
132456
123456
213456
213465
213645
216345
261345
621345
621354
621534
625134
652134
562134
562143
562413
564213
546213
456213
456231
456321
453621
435621
345621
345612
345162
341562
314562
134562
134526
134256
132456
123456
213456
213465
213645
216345
261345
621345
621354
621534
625134
652134
562134
562143
562413
564213
546213
456213
456231
456321
453621
435621
345621
345612
345162
341562
314562
134562
134526
134256
132456
123456
312456
312465
312645
316245
361245
631245
631254
631524
635124
653124
563124
563142
563412
564312
546312
456312
456321
456231
452631
425631
245631
245613
245163
241563
214563
124563
124536
124356
123456
132456
312456
312465
312645
316245
361245
631245
631254
631524
635124
653124
563124
563142
563412
564312
546312
456312
456321
456231
452631
425631
245631
245613
245163
241563
214563
124563
124536
124356
123456
132456
312456
312465
312645
316245
361245
631245
631254
631524
635124
653124
563124
563142
563412
564312
546312
456312
456321
456231
452631
425631
245631
245613
245163
241563
214563
124563
124536
124356
123456
132456
312456
312465
312645
316245
361245
631245
631254
631524
635124
653124
563124
563142
563412
564312
546312
456312
456321
456231
452631
425631
245631
245613
245163
241563
214563
124563
124536
124356
123456
132456
312456
312465
312645
316245
361245
631245
631254
631524
635124
653124
563124
563142
563412
564312
546312
456312
456321
456231
452631
425631
245631
245613
245163
241563
214563
124563
124536
124356
123456
132456
412356
412365
412635
416235
461235
641235
641253
641523
645123
654123
564123
564132
564312
563412
536412
356412
356421
356241
352641
325641
235641
235614
235164
231564
213564
123564
123546
123456
124356
142356
412356
412365
412635
416235
461235
641235
641253
641523
645123
654123
564123
564132
564312
563412
536412
356412
356421
356241
352641
325641
235641
235614
235164
231564
213564
123564
123546
123456
124356
142356
412356
412365
412635
416235
461235
641235
641253
641523
645123
654123
564123
564132
564312
563412
536412
356412
356421
356241
352641
325641
235641
235614
235164
231564
213564
123564
123546
123456
124356
142356
412356
412365
412635
416235
461235
641235
641253
641523
645123
654123
564123
564132
564312
563412
536412
356412
356421
356241
352641
325641
235641
235614
235164
231564
213564
123564
123546
123456
124356
142356
412356
412365
412635
416235
461235
641235
641253
641523
645123
654123
564123
564132
564312
563412
536412
356412
356421
356241
352641
325641
235641
235614
235164
231564
213564
123564
123546
123456
124356
142356
512346
512364
512634
516234
561234
651234
651243
651423
654123
645123
465123
465132
465312
463512
436512
346512
346521
346251
342651
324651
234651
234615
234165
231465
213465
123465
123456
123546
125346
152346
512346
512364
512634
516234
561234
651234
651243
651423
654123
645123
465123
465132
465312
463512
436512
346512
346521
346251
342651
324651
234651
234615
234165
231465
213465
123465
123456
123546
125346
152346
512346
512364
512634
516234
561234
651234
651243
651423
654123
645123
465123
465132
465312
463512
436512
346512
346521
346251
342651
324651
234651
234615
234165
231465
213465
123465
123456
123546
125346
152346
512346
512364
512634
516234
561234
651234
651243
651423
654123
645123
465123
465132
465312
463512
436512
346512
346521
346251
342651
324651
234651
234615
234165
231465
213465
123465
123456
123546
125346
152346
512346
512364
512634
516234
561234
651234
651243
651423
654123
645123
465123
465132
465312
463512
436512
346512
346521
346251
342651
324651
234651
234615
234165
231465
213465
123465
123456
123546
125346
152346
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345
612345
612354
612534
615234
651234
561234
561243
561423
564123
546123
456123
456132
456312
453612
435612
345612
345621
345261
342561
324561
234561
234516
234156
231456
213456
123456
123465
123645
126345
162345