Cómo escribir un programa en C para imprimir todas las permutaciones posibles de un número dado

Lo mejor es usar una computadora para eso, en lugar de la pluma y el papel tradicionales. Esto le permitirá también compilar y ejecutar el programa.

El mejor enfoque, con diferencia, cuando se usa una computadora para escribir programas es usar un editor de texto, ya que le permitirá guardar el archivo con el nombre que desee y luego, invocar un compilador después.

Un enfoque menos eficiente, que se vuelve más difícil por la complejidad cada vez mayor del software actual, es utilizar un editor hexadecimal en el disco duro. Por ejemplo, podría usar su editor hexadecimal en / dev / sda (o, si ya tiene una tabla de particiones, / dev / sdaX) y editar su sistema de archivos para que se corresponda con la configuración deseada. Luego, puede escribir con seguridad el programa en el espacio que asignó en el sistema de archivos. ¡Buena suerte!

La pregunta original era: “¿Cómo puedo escribir un programa en C para imprimir todas las permutaciones posibles de un número dado?”

Un mejor enfoque como un problema matemático, en lugar de iteración (programación convencional) opta por dígitos por dígitos. Por ejemplo: permutación de 123:
3 digitos : – – –
Puede llenar leke: 3 vías (dígito más significativo) 2 vías 1 vía (LSD)

Pruébelo usted mismo y, si es necesario, consulte el siguiente enlace para referencia e implemente lo mismo en C.

Permutación de una cuerda sin repetición
Escriba un programa para imprimir todas las permutaciones de una cadena dada sin repetición. (No se permite la repetición de caracteres).

Permutación de una cuerda con repetición
Escriba un programa para imprimir todas las permutaciones de una cadena dada con repetición. (Se permite la repetición de caracteres).

// C program to print all permutations with duplicates allowed

#include

#include

/* Function to swap values at two pointers */

swap(char void swap(char *x, char *y)

{

temp; char temp;

temp = *x;

*x = *y;

*y = temp;

}

/* Function to print permutations of string

This function takes three parameters:

1. String

2. Starting index of the string

3. Ending index of the string. */

permute(char void permute(char *a, int l, int r)

{

int i;

if (l == r)

printf("%sn", a);

else

{

for (i = l; i <= r; i++)

{

swap((a+l), (a+i));

permute(a, l+1, r);

swap((a+l), (a+i)); //backtrack

}

}

}

/* Driver program to test above functions */

int main()

{

char str[] = "ABC";

int n = strlen(str);

permute(str, 0, n-1);

return 0;

}

Aquí está el programa c explicado en detalle para permutaciones y combinaciones.

Permutaciones y combinaciones # 1: programa C.

Este enlace lo ayudará a generar permutaciones de todos los elementos de una matriz.

More Interesting

Si eligiera un número al azar en la recta numérica, ¿tendría mayores posibilidades de ser racional o irracional?

¿Las funciones del tipo x ^ 2, x ^ 3, x ^ n se consideran de naturaleza recursiva?

¿Es importante entender cómo se derivan los teoremas específicos, o es suficiente entender solo cómo usarlos?

Cómo lidiar con la frustración de no poder resolver una pregunta sobre matemáticas o ciencias de la computación en sitios web de programación competitivos

¿Por qué las matemáticas son importantes para la inteligencia artificial y el aprendizaje automático?

¿Cuáles son los cursos / libros matemáticos útiles para SRM de TopCoder?

¿Cuál es la interpretación de XOR de los enteros? ¿Hay alguna forma simple de calcular XOR en lugar de 'XOR-ing' todos los bits individuales?

¿Cuáles son los factores de (ab - b ^ 2)? ¿Es necesario conocer los valores de a y b, y si no, por qué no?

Trabajo como desarrollador de software para una startup. Si sé que nuestro producto es falso, ¿debería cambiarme a otro trabajo?

¿Podemos crear música original a través de la permutación digital?

¿Qué motiva el problema de k-satisfacción en la informática teórica?

¿Qué son las funciones en matemáticas en lenguaje simple?

¿Qué tan lejos están las computadoras cuánticas de resolver al menos un problema de NP completo en un tiempo polinómico?

¿Cuál es el mejor recurso para aprender sobre las pruebas de corrección para algoritmos?

¿La mayoría de los cursos requeridos en un programa universitario de ciencias de la computación son inútiles para la aplicabilidad de trabajo de programador del mundo real?