Generateur de combnaisons

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Generateur de combnaisons

Re: Generateur de combnaisons

par xTG » 20 sept. 2014, 19:14

Bah c'est ce que ton script fait ce que tu décris... 8-|
$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'); 
Je suis pas sûr d'avoir compris du coup...

Si tu veux les combinaisons de 3 lettres de l'alphabet on corrige la boulette et :
$nb_car = 3;
        $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'); 

Generateur de combnaisons

par hellophp » 20 sept. 2014, 00:13

Bonjour à tous,

Actuellement je fait des challenges sur un célèbre site conçu pour :D

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 =)