Aller au contenu

Décomposition en facteurs premiers - v1

Le cadre

Écrites de manière simple, les décompositions en facteurs premiers de quelques entiers sont :

  • 12 : [2, 2, 3]
  • 13 : [13]
  • 14 : [2, 7]
  • 15 : [3, 5]
  • 16 : [2, 2, 2, 2]
  • 17 : [17]

On donne une liste ordonnée composée de facteurs premiers, quitte à en répéter, dont le produit est égal à l'entier donné.

⚠ En théorie, on accepterait dans le désordre, mais pour cet exercice, on demande une liste ordonnée.

Exercice

Coder une fonction factorisation_v1 :

  • qui prend en paramètre un entier naturel non nul n
  • et qui renvoie la décomposition en facteurs premiers de n sous la forme d'une liste ordonnée de facteurs premiers, quitte à en répéter.

👍 On pourra se contenter, ici, d'une complexité linéaire en n.

###(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 : /
.128077.128013x/.ùr;nbOylae%u)d63×^m(Pô+02-@],59fq78 _o=pcwgv4F1kRéhtsSC[ji:050s0o0(0n0.0m0)0O0T0m0n0)0)0R010(0.0S010406050)0q0x0x0n0g0l040*0Q0m0q130Q0i0O020n0x0S0h0O0#0o1d0g0L0q0o0)050d1a1c1e1g180S04051L1E1O0d1L180s0.0W0{0}0 110%0.0V0%0m1$0%0(16050?0j0m0o1X0~10011#1%1)1%0(1/1;1-0(0g1M0(0%1?1Z010K0^0o0i1r0o010{1j0)0S0n0i110D1-2j2l271^2a1;2d0x2f040b0O0z0g0Q0S0Q0)0.1m1o0;2h0g0g0o0T2J1E2q0i1M0d252V2224231.0s2s111)0i2c2G1-1U1W0|1@2)0.2+0i0Q2/1-0S2O1M2T2V30192k1o2;282_0g1d0m160O0Z2S3417332r361^383a3c0D3f2l3h2T2(013m0n3b040O0u3q2U183t3k113w3y0O0X3C3s343u3I3c0I3M3E3O3G3v0Q393x3c0t3T3i351Y3l3Y3n3z0M3%3F3*3H3,3!3z0N3:3V3=3X3Z3J0J3{3j3}3Q040Z0C423)2=3~3-0Z3e1F3g1P2~1E2/2Y0s242%3W0T2`2y0:1V1M2}0o2 4h4g3r054r0;4z434b0!160;0K3M3(3u0U3c4N3;4b0i0K160K0n2Q3Y0.0)0n2J0P0W4f324T2815040y4S3|4U160i4?4H4/160r0/3T0O520O4O3W4J041@0o0g0(3M544.3l4_5d553}0Q16020V0(0h5i5f110x0.16484B3D535e4@374X4Z0(0o0q0g1D5y3z5j4b5l040R5r5C1^4:0,0G51535N5D040S5S4|1^5P5R5L5B5)5t5v043p5L065A5!1^570U1#1;5(4a5#4`5-5`115P5n5p603u5u164,4h5s014:505@5A5_6g5|5~0o6a3W0i5h646g5P0p6r44165%6v5T66160R5,305.611^6c045x4-6E6h166j305^6l6X653v6u6J6Z5P0d0d6I3g6K3P6B5Y6X6m6R6t044Y2Q5H5J4{6L6F040e6}6.580S0S2c0s723W4:4=5L6Z6@6C6Q5/6S040r6:6l7e6/6D7i5P0B6+3r6-3W6N6e3r066W526Z572O0(5I636$6g6@6_5G5I5K6V1E4E4y4i7U0d4l1E0(4n7Z2#2W0n1:7W4l1K4G6~012O0x0P4Y0!0o0P0%0u161w1y1A1C0O6U4A1S4u2:3}0n0s0x1n2I0.1n0O2@0K5P1K3u898b0i8d1n0E130(20040Y3@0(0O2L0)3Y136q1R3h1L0k1o2F5I0g0@8y0W0Q0q0m0Q0.0g0O0q2+0O8B5b0.1=0S1k0(0A8y8B0q0`0}0O8i391=0s008X1=1)0)5G8z1=7H8(1=4D4s3u1`1(1*1,7.3u7b796A5$9e4b4:0H6z4^048E7h7/4:7l7d0d7T3z0Q0f549v6C9v0O1C8y8X0O2_0x0j2O0O4x5u5a9D8y944F8E9C0m000o0c2F4%0i8y2_1o0i8R0O1@0Q0T0.0$718F7-0z8Q8V8:0W5a2H8f0D0H0O8P0.9/9H0Q221=0Q0j0-2P130K9=858R3h1)9b3W1e2I0%1d5G0c16090y0M0O0R0O0M0w0Z099s320dak18ak6Zan25aq9Yat0y0Nax0O0D0w0uaD4NaG0.aja!aK0gaoaNas04au0JaS0u0w0DaX9taH05aJ6gaLap4(aOa,0y47aSaU0Z0v0IaBa?aFa^a`6Ra|a*aP4eaS4eb8aE4Abba$a{a(aMa~a+au0Z0Db3a;0va:aCbl4CaZa#al88bqa}araP0X0J0I0u0N0I0ZaSaA0D0v0ZaAb50Z0JaBbz0ZbAb9bma!180dai1T1V961*1|1+2p6R2u2c2e162A0*0Ta(0S8y0z0l251n4N4x7.314h9v7E16595b9l5#7N4#4%4)0W5?9p9c167ccr7x5;3/7d6g9rcj5*6G7u2U7w3}5Vcu6f6R6NcycvcI169k7q7/7y9h4}7k5X5@cf580 5a5ccT73cla(cn8e0i4*cqcL7i9dczcM5;3`c_c@4~cC6 6Hd07j0,cK4C6g6Nc=d76R9jd36N3Bc}9q4~cZ7R6ncgc%cic*6s5E4!c-4(c/c;cW5Uctdy5:1641dhcs7kd35+cF5McA16d5dB01dfdPdddq3}d9dSdj493u57chc)7K6?ds0(cmdv1ndxdF7adAd:dV5;47dXdHdU5OcEd3cJdPdWd?9icRded^d`0rcSd(c~4;e15;3Se3cXea6,6ZcVehdzcYdZ56dn0)c(d37M5Fd,coda2U6Zc^cP4b7y7zeBdMd{eb7/dJd dNd6eIc`6deHbGe404ej7vele7en119rdk3g3U7id#dod%ek7Ld*eydwcpd`eQeV287yeAe{eobCcG6%d~d|cXdOe$dQ5;e~eCe5f56Mfae8eYf2eJe`e!16dgeEeie66de8e)7Ac#d$eve=dueze_ee16bMbObQeUfceKe:6ReNfee%ePfD04cOc?dieXfr5=fheOedf87yfTdbecfidLeS46fZfO7jfld8d^dEfpeof+cHeFe#f_fP7kf{fJf=f-0ub(d`g2f?fsf8e(3%9u4s2Vca4k4v7-050.0x0V9,0m0(110a2g3W0(0U1x0Q0-5v8Z0g0T1!1~0S0)0/6)0T0s0i0e0-0)0;1)0W0g0e2+0(0d1%0d0-0;0T7^0s2Wgy8bgB0F0Z0I0e0Z0e0C0d590(0)1F0W0V0d0Z0K0X0X0s0e0)g~2g8s1;110/0B0Z0/010d3z0+0=8~8!8D9D8}9M1k0`2}9.0%8@8_8Y0$c12I5I1=4r1c93bpa)bsbgbwayaUbw0v3Ab*3rag3h7Xgk4k0=0@0_04.