Actuellement je fait des challenges sur un célèbre site conçu pour
Et pour la résolution d'une des énigmes, j'ai besoin d'un générateur de mot. Après quelques fofo et du bidouillage de code, j'ai plus ou moins réussi.
L'algo dois trouver toutes les combinaisons de caractères dans une liste.
Si la liste contient moins de 10 caractères, de a à j, tout marche bien.
Mais si cette liste contient plus de 10 caractères, admettons de 'a' à 'k', le résultat n'est plus conforme.
Plus conforme dans le sens ou, si je lui demande des mots de 3 caractères, il va bien faire le boulot jusqu'à la 10eme lettre ' jjj ' puis il va passer sur du 4 caractères sans le demander. (le 11eme n'est même pas utilisé).
$nb_car = 4;
$tab = array('a','b','c','d','e','f','g','h','i','j'); //,'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$tab_long = count($tab);
$nb_combi = pow($tab_long, $nb_car);
for($i=0; $i<$nb_combi; $i++) {
$chaine_convertie = base_convert($i,10, $tab_long);
while (strlen($chaine_convertie) < $nb_car) {
$chaine_convertie = '0'.$chaine_convertie;
}
$tabl_indice_encours = str_split($chaine_convertie);
$chaine_finale = '';
foreach ($tabl_indice_encours as $element) {
$chaine_finale .= $tab[$element];
}
$tableau_index_possibles[] = $chaine_finale;
}
$result = count($tableau_index_possibles);
for($i=0; $i<$result; $i++) {
print($tableau_index_possibles[$i]);
echo "<br>";
}
Si vous avez des idées, je suis preneur !
Merci d'avance =)