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
.128013s3Oo_;bcdufvgU/0lyàq napS!.r1-meh,(P2=4:jtwkiD5R*x)é050j0G0Q0x0T0r0b0v0i0r0x0b0b0M010Q0T0y010406050b0k0F0F0x0C0s040z0e0r0k0^0e0w0v020x0F0y0g0v0W0G120C0u0k0G0b050p0 1113150}0y041t1A051D0p1D1F1A0}0j0T0m0-0/0;0?0H0T0n0H0r1T0H0Q0{050(0h0r0G1O0:0=011S1U1W1U0Q1$1(1!0Q0h0e0j151#0C1B0Q0H0-180b0y0x0w0?0L011*1Q010l0*0G0w1g0G1!25272c1,2f1(2i0F2k040a0v0K0C0e0y0e0b0T1b1d0$230C0C0G0i2F1t2m0w1B0p212R0Q1 1~200j2o0?1W0w2h2C1!1L1N0.1+2#0T2%0w1{1M1!0y2K1B2P2R2|0~261d2-2d2=0C120r0{0D2O300|2 2n321,34360{0L3a273c2P2!013h0x37040c3l2Q0}3o3f0?3r3t0N3w3n303p3C0{0V3F1C2`1t2+2U0j2Y3p0i1{2u0#1M1B2_0G2{3b3M3V0$3%3e1P1,0S0{0$0l3M3z3.0?0R0{0v3@3H3A3q0l0{0l0x2M0e0C0T0G0r1(3~3-2.010`040J4d313_3q0{0w4k3p4h0Z0O3F060v4x3}3^4f3:040T3?1u3b4z3 4m0w4o3F4I4e2d0e0{0M0M4N3d4l4f0F0T0{0q4q404h4u4G3m4w4y4.4W3p4C2K0Q0k0C4p4+2Q4O4X2d4Z384v4/4A2d4C4a0b0G4%4m4)524.4y4:404=0%4^4`2|4}3I4M4{045n404R040X4V543g43450Q47494b595q5g5b0{4j5H5y3B5p5m5I4f5u0E5x4J4Y4!04395M5W2d4s4v1t3*3$3N5,0p3Q1t0Q3S5;2W2S1`1|2U0x1%5.3Q1z3,4~1,2K0F0f440S0G0f0H0c0{1l1n1p1r0v4*2~1G3c1A0d311c0b0(0Q1)6h0-0%0v3s0n5D212t0v0C0!0i4^2D0l6F0G0m490w0Q0v0t0v0j0!6u352:0G0C0v5C1a6i1(0,0m3s0G6J6U6i4446484a6*0I6:5s4m132E0H126u0Y0{090J0q0A090Z4N0P0k0b1p006T5R2d6~6D0x72740J0w787a5q0B1C6n040o2%6z1a2K0v0b181a0T1c6`0x0y0y4a0!1)0~2V1c0n046G6I0C2D6O0Q0!6$6!4Z2i4c1u7R0w7T6`580C0)6R0/7D0k1M276u6j0}6m3Y2,4m1.1V1X1Z623p2q2h2j0{2w0z0i480y6R0K0s211c3M3#622}3(5+875h3;0G4F2~5N013{5r5a4f0w42046=5C6@5F8D5%5K8M5z045l3(8z4h0I5V4P8Q8x8T5$1,4s6k4H6|4f0i0D0{030-3s6I1(0v6L0X0v7q5d4x7i3/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*3W2R8o3P3Z1Ean7w0U270,0i1)ax8;0b6`2B4^0v0r007K7M0r3}5+3p831:1Y2la79+8I9.8Lad4r9@9Tae9d0V3kaX4(0{a55Q8za1a)5J047s6l8s6`8@2_0e0n7;11ay8=0k8@9u7k707m0G730475a%0v090^2t0,0V0D793FaC7_0,b4487l7nba0Jbcbe0Tbg0vbibdbf6i0V0qbk9g6y0)0w2D6{0 2E0G0BbQ7u6m7~0$0(0*0b04.