IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

combinaison de p parmi k dans l'ordre (arrangement)


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Points : 23
    Points
    23
    Par défaut combinaison de p parmi k dans l'ordre (arrangement)
    bonjour,

    Je cherche à remplir un tableau avec l'ensemble des combinaisons dans l'ordre possible de n parmi p.
    J'ai trouvé plusieurs sujets qui proposent une solution mais juste dans le désordre
    exemple : http://www.developpez.net/forums/d10...mi-n-elements/

    La solution de senacle est parfaite mais calcule uniquement les combinaisons dans le désordre.
    12345=54321
    Or, je souhaite que 12345 soit different de 54321.

    code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    $liste2 = array("banane",5,"escalier",9,11);
     
    function partition2($index, $p, $n, $ordered, $liste) {
    	global $liste2;
    	if ($index>=$p) {// la liste est construite -> FIN
    		echo implode(" - ", $liste)."<br/>";
    		return;
    	}
    	// ajoute un nouvel element candidat dans la liste
    	// - sans ordre -> candidat: tous les elements
    	// - avec ordre -> candidat: seulement les elements supérieurs au précédent
    	$start=0;
    	if ($ordered && $index>0) {
    		$start = array_search($liste[$index-1], $liste2) + 1;
    	}
    	for($i=$start;$i<$n;$i++) {
    		$liste[$index] = $liste2[$i];
    		partition2($index+1, $p, $n, $ordered, $liste);
    	}
    }
    partition2(0, 4, count($liste2), $ordered = true, $liste = array());
    Je pense que ce code est adaptable mais je ne vois pas du tous a quel niveau.
    Est-ce que quelqu'un à déjà eu besoin de réaliser ce calcul ? et si oui pouvez vous m'aider a adapter ce code voire le refondre totalement.

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 24
    Points : 23
    Points
    23
    Par défaut
    petite précision, le code plus haut permet de calculer dans l'ordre mais seulement 123456=54321.
    Dans le desordre il calcule
    55523
    44521
    ...

    Ce qui n'est pas ce que je recherche. Je suis persuadé qu'on peut l'adapter mais je bloque !

Discussions similaires

  1. [VBA] Toutes les combinaisons dans l'ordre et le désordre
    Par MatP dans le forum Mathématiques
    Réponses: 4
    Dernier message: 28/06/2011, 22h55
  2. [Javascript] Checkbox dans l'ordre
    Par kamel_leon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/02/2006, 23h17
  3. Dans quel ordre ranger les vertices ?
    Par legend666 dans le forum OpenGL
    Réponses: 5
    Dernier message: 10/10/2005, 10h01
  4. ORDER BY dans un ordre inhabituel
    Par Riam dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/03/2003, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo