Aporte: un pequeño script para generar cadenas aleatoriamente (20 cada vez, cambiar la línea 6) de largo 50 como máximo (cambiar línea 8). Es difícil que genere rangos largos, pero puede servir para probar casos de borde
Código PHP:
Ver original
echo "<pre>\n";
$i = 0;
while ($i < 20) {
$prueba = "";
$j = 0;
while ($j < $letras) {
$direccion_rango = rand(-1, 1); $ultimo = strlen($prueba) - 1; // si la "dirección" es 0, $prueba es de largo 0, o se me pide continuar un rango que sigue a una z
// => agregar un caracter al azar
if ( ($direccion_rango == 0) || ($ultimo < 0) ||
( ($prueba{$ultimo} == 'z') AND ($direccion_rango == 1) ) ||
( ($prueba{$ultimo} == 'a') AND ($direccion_rango == -1) ) ) {
} else {
// continuar el rango.
$prueba .= chr(ord($prueba{$ultimo}) + $direccion_rango); }
$j++;
}
$res = reduce($prueba);
printf("%50s \t %50s \t %10s \n", $prueba, $res, ($prueba == $res)); $i++;
}
echo "</pre>\n";