Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM PYTHON F.A.Q PYTHON TUTORIELS PYTHON SOURCES PYTHON OUTILS PYTHON LIVRES PYTHON
Description of Objects in VPython

Les fonctions factorielle (factorial) et combinaison (combin)

from visual import *

from visual.factorial import *

factorial(N) = N!

combin(a,b) = a!/(b!*(a-b)!)

Remarque: Pour éviter de confondre avec le module nommé "factorial" et la fonction appelée "factorial", importez le module factorial après avoir importé le module visual module lui-même.

Une utilisation courante de ces fonctions est le calcul du nombre de façons d'arranger un groupe d'objets. Par exemple, s'il y a 5 boules numérotées dans un sac, il y a factorial(5) = 5! = 5*4*3*2*1 = 120 façons de les sortir séquentiellement du sac (5 possibilités pour la première boule, 4 pour la suivante et ainsi de suite).

Si par contre les 5 boules ne sont pas numérotées, mais 2 sont vertes et 3 rouges, de 120 façons de choisir les boules, on passe à 2! façons indicernables d'arranger les boules vertes et 3! façons d'arranger les boules rouges, ainsi le nombre d'arrangements différents de boules est égal à combin(5,2) = 5!/(3!*2!) = 10.

Logiquement, la fonction combin (combinaison) est simplement une combinaison de fonctions factorial (factorielles). Cependant, la simplification dans le numérateur et le dénominateur rend possible d'évaluer la fonction combin pour des valeurs avec lesquelles on obtiendrait un dépassement de capacité pour la fonction factorial à cause de la taille limitée des nombres flottants. Par exemple, combin(5,2) = 5!/(3!*2!) = (5*4)/2 = 10, et nous n'avons pas à calculer 5! du tout.

 


Copyright © 2006 Guillaume et Yoann Duriaud. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsable bénévole de la rubrique Python : Guillaume Duriaud - Contacter par EMail :
Vos questions techniques : forum d'entraide Python - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.