Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
factorielle [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


factorielle

Warning: Undefined array key -1 in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/html.php on line 1458

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
factorielle [2008/03/15 08:00]
tyrtamos
factorielle [2009/06/14 09:14]
tyrtamos
Ligne 7: Ligne 7:
 ===== 1ère solution: version récursive ===== ===== 1ère solution: version récursive =====
  
-Le codage de la fonction est très simple, et ne nécessite pas plus de commentaires, à part que, comme c'est une version récursive, le programme s'appelle lui-même:+Le codage de la fonction est très simple, et ne nécessite pas plus de commentaires, à part que, comme c'est une version récursive, le programme s'appelle lui-même
 + 
 +Le principe est très simplesi fact(5)=1*2*3*4*5 et fact(4)=1*2*3*4, vous voyez bien que fact(5)=5*fact(4).
  
 <code python> <code python>
Ligne 49: Ligne 51:
  
 Vous pouvez tester cette fonction avec la Calculext ici: [[http://calculext.jpvweb.com]], mais soyez raisonnable: au delà de fact(5000), vous allez dépasser le temps maxi de calcul autorisé sur le serveur. Vous pouvez tester cette fonction avec la Calculext ici: [[http://calculext.jpvweb.com]], mais soyez raisonnable: au delà de fact(5000), vous allez dépasser le temps maxi de calcul autorisé sur le serveur.
 +
 +Une autre solution, plus inhabituelle, utilise la fonction Python "reduce":
 +
 +<code python>
 +fact = lambda z : reduce(lambda x,y:x*y,range(1,z+1),1)
 +</code>
 +
 +Ce qui donne, bien entendu, le même résultat, mais sans avantage de durée d'exécution.
 +
 +\\
 +Amusez-vous bien!
  
  
 +<html>
 +<head>
 +<style type="text/css">
 +<!--
 +body {background-image:url(fondcorps.jpg);}
 +-->
 +</style>
 +</head>
 +<body>
 +</body>
 +</html>
factorielle.txt · Dernière modification: 2009/06/14 09:14 de tyrtamos