Factorielle d’un entier (2)

Série d'exercices

Cet exercice fait partie d'une série :

Nombre de façons de mélanger un paquet de 52 cartes

On a un paquet de \(52\) cartes que l'on mélange. Combien d'ordres différents peut-on obtenir ?

Mélanger le paquet de cartes revient à choisir une carte parmi les \(52\) cartes du paquet, puis mélanger les \(51\) cartes restantes, et ainsi de suite...

Il y a donc \(52 \times 51 \times 50 \times ... \times 4 \times 3 \times 2 \times 1 \approx 8 \times 10^{67}\) mélanges possibles d'un paquet de \(52\) cartes.

Factorielle

La factorielle d'un entier naturel \(n\), noté \(n!\), est le produit des nombres entiers strictement positifs qui sont inférieurs ou égaux à \(n\).

Soit: \(n! = n \times (n-1) \times... \times 4 \times 3 \times 2\times 1\)

Ainsi :

  • \(0! = 1\) (par convention)
  • \(1! = 1\) (c'est un produit avec \(1\) comme seul facteur)
  • \(2! = 2 \times 1 = 2\)
  • \(3! = 3 \times 2 \times 1 = 6\)
  • \(4! = 4 \times 3 \times 2 \times 1 = 24\)

Exemple

Dans l'exemple précédent, la factorielle de \(52\) exprime le nombre de permutations des \(52\) cartes dans le paquet.

Formule récursive

Pour \(i>0\) on a \(i! = (i-1)! × i\), comme on peut le constater sur les exemples :

  • \(5! = 1×2×3×4×5 = 4! × 5\)
  • \(6! = 1×2×3×4×5×6 = 5! × 6\)
  • \(7! = 1×2×3×4×5×6×7 = 6! × 7\)

Écrire la fonction récursive factorielle qui prend en paramètre un nombre entier positif n et qui renvoie la factorielle de ce nombre.

Contrainte

Le module math est désactivé pour cet exercice.

Exemples
>>> factorielle(5)
120
>>> factorielle(10)
3628800
###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 10/10
.128013:pbvà(40i2Dedmx3;sU= 1jo5w_lSnatf-)OhR,qcrg.*éyP!ku/050n0m0G0F0j0C0s0v0P0C0F0s0s0u010G0j0c010406050s0Z0o0o0F0Q0V040D0y0C0Z0^0y0E0v020F0o0c0r0v0M0m120Q0O0Z0m0s050!0 1113150}0c041t1A051D0!1D1F1A0}0n0j0e0-0/0;0?0L0j0R0L0C1T0L0G0{050(0d0C0m1O0:0=011S1U1W1U0G1$1(1!0G0d0y0n151#0Q1B0G0L0-180s0c0F0E0?0k011*1Q010H0*0m0E1g0m1!25272c1,2f1(2i0o2k040a0v0W0Q0y0c0y0s0j1b1d0$230Q0Q0m0P2F1t2m0E1B0!212R0G1 1~200n2o0?1W0E2h2C1!1L1N0.1+2#0j2%0E1{1M1!0c2K1B2P2R2|0~261d2-2d2=0Q120C0{0w2O300|2 2n321,34360{0k3a273c2P2!013h0F37040q3l2Q0}3o3f0?3r3t0h3w3n303p3C0{0z3F1C2`1t2+2U0n2Y3p0P1{2u0#1M1B2_0m2{3b3M3V0$3%3e1P1,0Y0{0$0H3M3z3.0?0A0{0v3@3H3A3q0H0{0H0F2M0y0Q0j0m0C1(3~3-2.010`040g4d313_3q0{0E4k3p4h0J0b3F060v4x3}3^4f3:040j3?1u3b4z3 4m0E4o3F4I4e2d0y0{0u0u4N3d4l4f0o0j0{0i4q404h4u4G3m4w4y4.4W3p4C2K0G0Z0Q4p4+2Q4O4X2d4Z384v4/4A2d4C4a0s0m4%4m4)524.4y4:404=0%4^4`2|4}3I4M4{045n404R040T4V543g43450G47494b595q5g5b0{4j5H5y3B5p5m5I4f5u0I5x4J4Y4!04395M5W2d4s4v1t3*3$3N5,0!3Q1t0G3S5;2W2S1`1|2U0F1%5.3Q1z3,4~1,2K0o0B440Y0m0B0L0q0{1l1n1p1r0v4*2~1G3c1A0K311c0s0(0G1)6h0-0%0v3s0R5D212t0v0Q0U0P4^2D0H6F0m0e490E0G0v0f0v0n0U6u352:0m0Q0v5C1a6i1(0,0e3s0m6J6U6i4446484a6*0N6:5s4m132E0L126u0p0{090g0i0X090J4N0x0Z0s1p006T5R2d6~6D0F72740g0E787a5q0S1C6n040t2%6z1a2K0v0s181a0j1c6`0F0c0c4a0U1)0~2V1c0R046G6I0Q2D6O0G0U6$6!4Z2i4c1u7R0E7T6`580Q0)6R0/7D0Z1M276u6j0}6m3Y2,4m1.1V1X1Z623p2q2h2j0{2w0D0P480c6R0W0V211c3M3#622}3(5+875h3;0m4F2~5N013{5r5a4f0E42046=5C6@5F8D5%5K8M5z045l3(8z4h0N5V4P8Q8x8T5$1,4s6k4H6|4f0P0w0{030-3s6I1(0v6L0T0v7q5d4x7i3/0{4E8X635O8R933p5u4T974050044$5q8+4Q8B479b4K5P4H8 0?994U9g9p019d5!8y8$0?5c5q4-5e9h907U5j4_9l8E438}9F0?560+5G9y8Y9A0{8)4,9E8~8z5i4@9J9t8z4L8H5B5D6^9S8#9U4g8O5#9=9+8S3m9u5T8P0?9w9 9?048W9)9z4n8Ha25u5w9^94a89{2Q9u5(9C5*3W2R8o3P3Z1Ean7w0l270,0P1)ax8;0s6`2B4^0v0C007K7M0C3}5+3p831:1Y2la79+8I9.8Lad4r9@9Tae9d0z3kaX4(0{a55Q8za1a)5J047s6l8s6`8@2_0y0R7;11ay8=0Z8@9u7k707m0m730475a%0v090^2t0,0z0w793FaC7_0,b4487l7nba0gbcbe0jbg0vbibdbf6i0z0ibk9g6y0)0E2D6{0 2E0m0SbQ7u6m7~0$0(0*0s04.