Foros del Web » Programando para Internet » PHP »

Permutar cadenas

Estas en el tema de Permutar cadenas en el foro de PHP en Foros del Web. Buenas que tal? tengo una duda con respecto a como realizar permutas de cadenas en PHP, la idea es que el usuario al colocar ciertas ...
  #1 (permalink)  
Antiguo 07/07/2010, 16:41
 
Fecha de Ingreso: febrero-2003
Mensajes: 233
Antigüedad: 21 años, 1 mes
Puntos: 4
Permutar cadenas

Buenas que tal? tengo una duda con respecto a como realizar permutas de cadenas en PHP, la idea es que el usuario al colocar ciertas latras o palabras pueda permutarse:

ejemplo: El usuario coloca ABCD... que el script los permute.

ABCD
ACDB
ADBC
ADCB
BACD
BCDA
ETC...


todas sus combinaciones posibles,

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 07/07/2010, 17:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Permutar cadenas

Yo creo que esto sería bueno para hacer una competencia básica-intermedia

Edito:
Esto lo encontré en internet en este tema http://www.svcommunity.org/forum/web...cion-php/?wap2
Código PHP:
Ver original
  1. <?php
  2. function permutar($str){
  3.     if (strlen($str) < 2){
  4.         return array($str);
  5.     }
  6.     $cola = substr($str, 1);
  7.     $permutaciones = array();
  8.     foreach(permutar($cola) as $permutacion){
  9.         for($i = 0; $i <= strlen($permutacion); $i++){
  10.             $permutaciones[] = substr($permutacion, 0, $i) . $str[0] . substr($permutacion, $i);
  11.         }
  12.     }
  13.     return $permutaciones;
  14. }
  15. var_dump(permutar('abcd'));
Si no entiendes como lo hace, entonces creelo por fe
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 07/07/2010 a las 21:57

Etiquetas: cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:29.