• imprimer
  • aide

Forum de discussions « Modélisation - Algorithmique »

Retrouvez les publications relatives à ces discussions dans notre rubrique algorithmique et méthodes.

Permutation factorielle, argggg

liste des forums liste des discussions Participer à la discussion

Photo de Mostal 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>";
}
}
}
?>
Photo de GMC Message publié le mercredi 07 septembre 2005 - 13h14 par GMC. modérateur 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..

Photo de gre 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.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions