Liste des diviseurs
Le cadre
Il existe une méthode élémentaire pour le calcul de la liste des diviseurs d'un entier naturel non nul :
🐍 Script Python
def diviseurs(n):
assert n > 0
liste = []
for k in range(1, n + 1):
if n % k == 0:
liste.append(k)
return liste
Mais cette est méthode est lente pour \(n\) grand, comme un milliard. La boucle fait \(n\) tours !
On voudrait mettre en œuvre la méthode racinaire, qui ne fera qu'environ \(\sqrt n\) tours de boucle.
Exercice
Coder une fonction diviseurs qui prend un entier naturel non nul n en paramètre, et qui renvoie la liste des diviseurs de n.
Contraintes : la méthode racinaire pourra être utilisée pour limiter le nombre de divisions.
On pourra renvoyer la liste dans n'importe quel ordre.
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
.128013],59/f.Éq!78r;nb _o=ylae%pcwgu)vd*V4613kRméhtsP(S0+2è[-i:050H0y0T0x0(0w0U0r0B0w0x0U0U0u010T0(0A010406050U0E0Q0Q0x0n0v040X0t0w0E0}0t0p0r020x0Q0A0o0r0P0y170n0j0E0y0U050f1416181a120A04051F1y1I0f1F120H0(0G0=0@0_0{0S0(0D0S0w1W0S0T10050-0q0w0y1R0^0`011V1X1Z1X0T1)1+1%0T0n1G0T0S1-1T010g0/0y0p1l0y010=1d0U0A0x0p0{0!1%2d2f211/241+270Q29040a0r0V0n0t0A0t0U0(1g1i0+2b0n0n0y0B2D1y2k0p1G0f1 2P1|1~1}1(0H2m0{1Z0p262A1%1O1Q0?1.2Z0(2#0p0t2)1%0A2I1G2N2P2`132e1i2+222:0n170w100r0M2M2~112}2l301/3234360!392f3b2N2Y013g0x35040r0N3k2O123n3e0{3q3s0r0K3w3m2~3o3C360d3G3y3I3A3p0t333r360L3N3c2 1S3f3S3h3t0l3X3z3!3B3$3U3t0m3*3P3,3R3T3D0e3=3d3@3K040M0Y3|3Z2,3^3%0M381z3a3O3}453 0M3j4a3l4c44313.3s0M3v4i3x3Y3J4n100M3F4r3H4d4m3_4w3M4z4k4u4D403W4G4t3Q4f3)4M3+4e4v403;4R3?4T4J0M3{4z1J2^1y2)2S0H1~2X3Q0B2;2s0*1P1G2@0y2_3a3G054;0+4|4B1/0O0p100g2x0Q4~4S220C365b4Y315604171 5g530{5e3t5n4l545j0(1m3S0T3G0r4N3~100U0j0n5z4G4H3Q0O100+0g5s3o5q5B4%5c3f0g5N1P0(0U0y0E0n1x5U5h1/0 040W5Q4O100p5:3@5-0F0)435R360r5 5@450U0H1001665|3Q635~5 1q0p0G0t0(1,0@0r1Z0U0T1,0+0;2)5!5$5(0r2F1i020D0T1o424X5o016a3t5 0r0x0G2J6k0x0r0Q0R1 4=0r0n0x0B2.0.2I683@6G6I0r66013N6(5C455M041.0y5H5A6.315=6^5V0{0t106y6A6|5+0{0Q0(106C2`066-6}3p106l6n736E6 040u7i5t0{5-0$0b3N7b6I6_3f106V6X2#7n3o7k7m4z5B7d0p0q102.5I2|7d5-5/5*6E5j5F6@7S7o017Q616`045?7X3o5_0F6,7v7d6:0g3S7C5;040O7?3@0t5q2.7`4e7K046V0p0D0y7#5,107R7O7401764w877p100c7 7$7z2.867G7w6~100Z8k1/8e408g7Z105`7-6(607/7L5P8p7I6{8I8c7k0z8u3B107_8L7j100u7F2`7H8c8w794}7P105{4G8D8,8Z7T7f5!7h7)3Q7k0h8y5j0x0A0A260H8y7!8?5D7^918A8C8-8E8c8{1f6!8T7Y7E8P7e7%9i7k0f0f9i5j8S7a997c8c6:0(8H8Y8q9j9r3a8.9g100k8X9D9A9c1|8o8b6E5-8*9s9t8,9K8:6m9N8%8M108_934e108|8~0p909%22929O7Y9L9e9;7*975J9u6E6:2I0T5%7(9z8J047g9Y4j1y504{4(ab0f4+1y0T4-ag2V2Q0x1*ad4+1E527Y2I0Q0s0g0x0O0y0s0S0N101q1s1u1w0r9R4}1L3b2)3o0x0H0Q1h2C0(1h0r0}5-1EaOaQaS2D0%0}0T1`040J180(2f6n0r0R0w0R0Da:0y0c0r0U2f0;4 4=047V5Iaa2P1M1H040ia01O6?6J6L0B6J1^262D0=0,a;0Ga.a`a|0y0w1+0r1w0TaW0n0#0;1f250r0k1JaM1P3o1;1Y1!1$ar3o2o2628102u0X0B0n0~by0V0v6Sa24}4`ar2{4}b69A6:5O8y5S8`5X046r5#5%5)9^3Q9:9Z8/9k9.88048B8+7.9v9)0_6?7N9Ja4b(3l9E7D706z0o9i8#989Va58;a72Ocj8@8V9i7q7sc89ac29Cci9A9h9f3o8w499ScD7Y6:0C1V1+9p8R9l100IcU95cJcx04020w72c#94ch2O9A9Q989|cP8GcZc-5r7d8NcZcFcvcH8V9IcG7dcpc48h04aJ4j9TcO3J9W8=b~7{9#8`9)8}8 965.djc!dg455_c;8-cr0x9dcuc`9!7lc^cW049nc}du9Ua4a68y8^dp9*dmd68zdodR9?dzc/9`cN8Dcrc~dA8U040Zd2c d4778xcCcw3@9w9ycf9bcVc+457kcYd{7$d$d;d|d1dDdRc:d:c=ddcs9XdMdidUdk9+9-dr9/89dpd$dXc67te95L7y0,a1cZdL4M0fb.1L4)ae4^12eD0G3bae0,0.0:04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)