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
.128013bàuS-,3_4l.(wnx/R)pOaPké0;:horsD1*vc25qm!gydjieUft =050S0V0Y0v0U0k0F0Z0K0k0v0F0F0!010Y0U0t010406050F0d0O0O0v0E0R040e0D0k0d0^0D0o0Z020v0O0t0A0Z0r0V120E0N0d0V0F050q0 1113150}0t041t1A051D0q1D1F1A0}0S0U0J0-0/0;0?0C0U0Q0C0k1T0C0Y0{050(0b0k0V1O0:0=011S1U1W1U0Y1$1(1!0Y0b0D0S151#0E1B0Y0C0-180F0t0v0o0?0L011*1Q010X0*0V0o1g0V1!25272c1,2f1(2i0O2k040a0Z0w0E0D0t0D0F0U1b1d0$230E0E0V0K2F1t2m0o1B0q212R0Y1 1~200S2o0?1W0o2h2C1!1L1N0.1+2#0U2%0o1{1M1!0t2K1B2P2R2|0~261d2-2d2=0E120k0{0H2O300|2 2n321,34360{0L3a273c2P2!013h0v37040h3l2Q0}3o3f0?3r3t0j3w3n303p3C0{0M3F1C2`1t2+2U0S2Y3p0K1{2u0#1M1B2_0V2{3b3M3V0$3%3e1P1,0x0{0$0X3M3z3.0?0n0{0Z3@3H3A3q0X0{0X0v2M0D0E0U0V0k1(3~3-2.010`040m4d313_3q0{0o4k3p4h0s0B3F060Z4x3}3^4f3:040U3?1u3b4z3 4m0o4o3F4I4e2d0D0{0!0!4N3d4l4f0O0U0{0z4q404h4u4G3m4w4y4.4W3p4C2K0Y0d0E4p4+2Q4O4X2d4Z384v4/4A2d4C4a0F0V4%4m4)524.4y4:404=0%4^4`2|4}3I4M4{045n404R040I4V543g43450Y47494b595q5g5b0{4j5H5y3B5p5m5I4f5u0f5x4J4Y4!04395M5W2d4s4v1t3*3$3N5,0q3Q1t0Y3S5;2W2S1`1|2U0v1%5.3Q1z3,4~1,2K0O0i440x0V0i0C0h0{1l1n1p1r0Z4*2~1G3c1A0u311c0F0(0Y1)6h0-0%0Z3s0Q5D212t0Z0E0y0K4^2D0X6F0V0J490o0Y0Z0c0Z0S0y6u352:0V0E0Z5C1a6i1(0,0J3s0V6J6U6i4446484a6*0g6:5s4m132E0C126u0p0{090m0z0P090s4N0T0d0F1p006T5R2d6~6D0v72740m0o787a5q0l1C6n040W2%6z1a2K0Z0F181a0U1c6`0v0t0t4a0y1)0~2V1c0Q046G6I0E2D6O0Y0y6$6!4Z2i4c1u7R0o7T6`580E0)6R0/7D0d1M276u6j0}6m3Y2,4m1.1V1X1Z623p2q2h2j0{2w0e0K480t6R0w0R211c3M3#622}3(5+875h3;0V4F2~5N013{5r5a4f0o42046=5C6@5F8D5%5K8M5z045l3(8z4h0g5V4P8Q8x8T5$1,4s6k4H6|4f0K0H0{030-3s6I1(0Z6L0I0Z7q5d4x7i3/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*3W2R8o3P3Z1Ean7w0G270,0K1)ax8;0F6`2B4^0Z0k007K7M0k3}5+3p831:1Y2la79+8I9.8Lad4r9@9Tae9d0M3kaX4(0{a55Q8za1a)5J047s6l8s6`8@2_0D0Q7;11ay8=0d8@9u7k707m0V730475a%0Z090^2t0,0M0H793FaC7_0,b4487l7nba0mbcbe0Ubg0Zbibdbf6i0M0zbk9g6y0)0o2D6{0 2E0V0lbQ7u6m7~0$0(0*0F04.