Recherche combinaison mot script python

florent -  
jisisv Messages postés 3678 Statut Modérateur -
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 )

2 réponses

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    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