A voir également:
- Recherche combinaison mot script python
- Trousseau mot de passe iphone - Guide
- Script vidéo youtube - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
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
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
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:
Bon amusement.
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
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)