Recherche combinaison mot script python

Fermé
florent - Modifié par florent le 7/05/2012 à 13:17
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 12 mai 2012 à 11:12
Bonjour,


je recherche un script python pour calculer le nombre de combinaison possible
pour le mots toto par exemple ou un numéro du style 5566455644466 bref vous avez comprit le principe


de tête j'ai calculer

6 combinaison possible pour le mots toto , donc c'est pour cela que je fais appelle a tout personne qui pourrait m'aider à avoir un script qui pourrait me donner un nombre exacte de combinaison possible pour n'importe quel mots ou chiffre ,
( par ce que imaginer si le mots est long un peut )


A voir également:

2 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
Modifié par jisisv le 12/05/2012 à 11:15
Si j'ai bien compris ta question, il s'agit tout simplement du nombre de permutaions avec répétitions de n objets partitionnés en f[0], f[1], ... f[CLASSES -1 ] objets identiques, où n = f[0] + ... + f[CLASSES -1]
Mathématiquement ce sera
 fact(n) /(fact(f[0]à *... * fact(f(CLASSES - 1]) )

Il faudra évidemment optimiser l'algorithme de calcul. Mais il est clair que le nombre de combinaisons dépassera rapidement la capacité du type entier.
Il semble que le type long convienne.
Mais cela ne mange pas de pain d'optimiser l'algorithme.
Exemple:
>>> fact = long(1) 
>>> for i in range(1,20) : 
...     fact = fact * i 
...     print i, fact 
...  
1 1 
2 2 
3 6 
4 24 
5 120 
6 720 
7 5040 
8 40320 
9 362880 
10 3628800 
11 39916800 
12 479001600 
13 6227020800 
14 87178291200 
15 1307674368000 
16 20922789888000 
17 355687428096000 
18 6402373705728000 
19 121645100408832000

Bon amusement.
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
1
Rien pigé du tout!!!
0