#include <iostream> using namespace std; int main() { int n,i,k,j,l,m,fact; //declaracion de variables //declaracion del vector permutacion cout<<"Introduzca el tamaño de nuestra permutacion.- "; cin>>n; //entrada del tamañano de la permutacion fact=1; for(i=2;i<=n-1;i++) { fact=fact*i; //calculo de el factorial para calcular n-1 factorial } cout<<"Seran "<<fact*n<<" permutaciones"<<endl; int p[n]; //Declaracion del arreglo de permutacion for (j=0;j<n;j++) { p[j]=j+1; //Le damos las prieras entradas a la permutación 1,2,3,...,n } m=(fact)/(n-2); // calculamos el numero de veces que se deben cambiar las entradas fijando la primera entrada for (i=0;i<n;i++) //empieza el contador de las permutaciones cambiando la primera entrada cada despues de m permutaciones { 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 { 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 { for (j=0;j<n;j++) { cout <<p[j]; //escribimos como va quedando nuestra permutacion } cout<<endl; swap(p[n-k-1],p[n-(k+1)-1]); //cambio de las ultimas entradas } } swap(p[0],p[i+1]); //cambio de la primera entrada por la segunda } return 0; }
6
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