Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 12-11-2011 23:18:43
- tibo
- Membre expert
- Inscription : 23-01-2008
- Messages : 1 097
[Python] Algorithme de génération de toutes les permutations
Salut,
comme prévu j'ouvre un topic à ce sujet.
Le but est de trouver un algorithme capable de générer toutes les permutations de n éléments
par exemple, si l'utilisateur rentre le nombre 3, le programme renverrait:
[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]
Voila, je passerais plus tard plus exposer mes précédentes tentatives.
A quoi sert une hyperbole?
----- A boire de l'hypersoupe pardi !
Hors ligne
#2 13-11-2011 08:01:52
- karlun
- Membre
- Inscription : 05-05-2010
- Messages : 216
Re : [Python] Algorithme de génération de toutes les permutations
Bonjour,
Le petit programme sans répétition proposé dans "jeux de lettres" (http://www.bibmath.net/forums/viewtopic … 944#p32944) me semble parfaitement fonctionner mis à part qu'il faut introduire 'à la main les données (c'est un détail).
pour [123], la réponse donne:
>>>
['213', '312', '231', '132', '123', '321']
>>>
pour [1234]
>>>
['1324', '4321', '2431', '3142', '3412', '3214', '1423', '2341', '4123', '2413', '3124', '3421', '1342', '1234', '4312', '4213', '2134', '4231', '1432', '3241', '1243', '2143', '2314', '4132']
>>>
A+-*/
PS: Pour ne plus devoir introduire à la main les éléments à permuter, on peut remplacer la ligne 5 par:
y=input("entrez le nombre d'éléments à permuter: ")
y=range(1,y+1,1)
for j in y:
mot+=str(j)
mot=''.join(mot)
print mot
(Je suis sûr que ça pourrait être plus court... je cherche.)
Dernière modification par karlun (13-11-2011 09:40:41)
Qui trouve, cherche.
Hors ligne
#3 13-11-2011 14:28:44
- tibo
- Membre expert
- Inscription : 23-01-2008
- Messages : 1 097
Re : [Python] Algorithme de génération de toutes les permutations
Ha bah mince alors!!! ça marche en plus!!!
Comme quoi faut pas pas chercher trop compliqué.
Dire que je me suis cassé la tête longtemps sur ce problème .
Bon, cela devrait régler mon problème de mémoire.
Je verrai ça cet aprem ou ce soir
A quoi sert une hyperbole?
----- A boire de l'hypersoupe pardi !
Hors ligne