Retrouvez les publications relatives à ces discussions dans
notre rubrique algorithmique et méthodes.
liste des forums
liste des discussions
Participer à la discussion
-
Message publié le samedi 03 septembre 2005 - 21h07 par Mostal.
-
Bonjour tout le monde,
Je m’arrache les cheveux sur un problème qui me semble logique mais dont je n’arrive pas à trouver une solution.
Je cherche à trouver toutes les solutions de permutations possibles d’une série.
Pour une série de 4 chiffres : 1234, il y a 5 séries possible : 1243 / 1423 / 1432 / 1342 / 1324
Mon raisonnement marche est dejà bacal pour une série de 5 (je crois) mais ne marche plus du tout pour une série de 6 ou plus.
Le nombre de solution est factorielle n! (nb de combinaison pour 5 chiffres : 5 * 4 * 3 * 2 = 120)
Voilà le début de code que j’ai écris mais après de longues réflexions sur le papier et de nombreuse recherche sur Internet je ne trouve pas en 1/ le raisonnement pour 6 chiffres ou plus et en 2/ le bout de code qui viendrait me faire comprendre l’algorithme pour afficher toutes les solutions de 1 à n chiffres.
Je ne fais pas varier le chiffre 1, c'est voulu, je le garde en 1er place.
<?php
$max = 6;
$c = "";
for ($i=1;$i<=$max;$i++)
{
$point[$i] = $i;
$c = $c.$point[$i];
}
$r=0; $d[$r] = 0;
while ($d[$r] != $c)
{
for ($w=1;$w<3;$w++)
{
for ($i=1;$i<$max-1;$i++)
{
$temp = $point[$max-$i];
$point[$max-$i] = $point[$max-$i+1];
$point[$max-$i+1] = $temp;
$r++; $d[$r] = "";
for ($j=1;$j<=$max;$j++)
{
$d[$r] = $d[$r].$point[$j];
}
echo "$r : "; echo $d[$r];
echo "<br>";
}
}
}
?>
-
Message publié le mercredi 07 septembre 2005 - 13h14 par GMC.
Algorithme, modélisation... Pensez au nouveau forum pour vous aider
-
si ta solution est factorielle, pour 4 chiffres y'a 24 possibilités et non pas 5.
dans tes permutations, le chiffre 1 peut aussi se promener, y'a pas de raison: 1234 peut permutter en 4321 si je ne me trompe..
-
Message publié le mercredi 19 avril 2006 - 22h27 par gre. Attention : ce que je dis ne marche pas toujours !!!
-
Ca dépend de ce que tu veux : si tu veux les permutations avec toujours le chiffre 1 en première position,, il y en a (n-1)! , si c'est toutes les permutations, c'est n! .
liste des forums
liste des discussions
Participer à la discussion
Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.