Estaba aburrido y decidí escribir una función que escriba todas las combinaciones posibles para una palabra, es decir, un anagrama. Funciona bien, pero solamente con cadenas de una longitud menor o igual a 4. Ya que si supero eso, me dice que el límite de memoria ha sido alcanzado. ¿Hay alguna forma de optimizar eso? O tal vez hacerlo en segundo plano, o cualquier cosa.
Para aclarar unas cosas: uso la función str_shuffle de php. Además, calculo todas las combinaciones posibles para la cadena con su factorial. Para calcular dicho factorial también escribí una función, pero esa no la pongo porque me parece innecesario. ¡Muchas gracias!
Soy un poco nuevo en esto de la programación. Les dejo aquí mi código:
Código PHP:
Ver original
function dame_anagrama( $cadena , $arreglo_anagramas){ $combinaciones = factorial( $longitud_cadena ); $longitud_cadena = null; } $anagrama = null; dame_anagrama($cadena, $arreglo_anagramas); $arreglo_anagramas = null; return; } $combinaciones = null; foreach($arreglo_anagramas as $x){ echo $x . "<br>"; } }