Nombres semi-premiers
Le cadre
On dira qu'un entier naturel est semi-premier :
- s'il n'est pas premier,
- s'il n'a pas plus de deux diviseurs premiers.
Par exemple, par ordre croissant, sont semi-premiers :
- \(4 = 2^2\)
- \(6 = 2×3\)
- \(8 = 2^3\)
- \(9 = 3^2\)
- \(10 = 2×5\)
- \(12 = 2^2×3\)
- \(14 = 2×7\)
- \(15 = 3×5\)
Mais, ne sont pas semi-premiers :
- \(30 = 2×3×5\), (on dit qu'il est 3-composé)
- \(42 = 2×3×7\), (il est aussi 3-composé)
Exercice
Coder une fonction est_semi_premier qui prend en paramètre un entier naturel non nul n et qui renvoie un booléen : True si n est semi-premier, False sinon.
On demande, ici, une complexité racinaire en
n.
On met à disposition, pour cet exercice, des fonctions avec une complexité racinaire :
est_premierqui renvoie un booléen,- et
factorisationqui renvoie une liste de tuples.
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.T78r;nb _o=ylaepcwgu)vd46F13kRmhtsP(S02-i:050D0v0N0u0V0t0O0o0x0t0u0O0O0r010N0V0w010406050O0A0L0L0u0k0s040R0q0t0A0;0q0m050e0{0}0 110_0w04051h1a1k0e1h0_0D0V0C0)0+0-0/0M0V0z0M0t1y0M0N0@050!0n0t0v1t0,0.011x1z1B1z0N1H1J1F0N0k1i0N0M1L1v010f0$0v0m0u0L0v010)140O0w0u0m0/0T1F1?1^1$1N1)1J1,1.0@0a0o0P0k0q0w0q0O0V170m0o0Y1;0k0k0v0x2f1a1}0m1i0e1!2s1X1Z1Y1G0D1 0/1B0m1+2c1F1q1s0*1M2C0V2E0m0q2I1F0w2l1i2q2s2W0`1@2g2K1%2P0k0~0t0@0o0H2p2!0^2Z1~2$1N2(2*2,0T2/1^2;2q2B012_0u2+040o0I2}2r0_302@0/33350o0E392 2!313f2,0c3j3b3l3d320q2)342,0F3q2=2#1u2^3v2`360i3A3c3D3e3F3x360j3J3s3L3u3w3g0d3R2?3T3n040H0S3Y3C2L3U3G0H2.1b2:3r3Z3+3#0H2|3:2~3=3*2%3N350H383{3a3B3m400@0H3i443k3?3 3V493p4c1l2U1a2I2v0D1Z2A3t0x2Q1/1i4n1j4l2Y4j4t0Y2V3S3+0J0@0Y0f3j463t0y2,4L3K3@0f0@0v0O0N0p0O0v0L0V0p2T4!0V0v0k4Q4F1%0?040Q4-4e2^0@194j4R4/0@0W3j0o4M3!0n0@2N0N4?3~1N4:0B50523+0q0@0U020z0N0l5d4|2^54040n0q1458314:4 4c060o5B515o0/0O1{04010K1+0C0q4*0o0h0k0A1K2d0o2g4V0N0o4Z4#0U4(4#4+0b0o0G344Z5Z2N18013q5C5D4.4^040f0u2n0v0A0k0O5n5_0/5g040r634@3e0@5|2n3v0V0O0u2o4{64014:4=6k6a324_5v3t5b3q5A5C5e1%4H040V4K4c5^6q0m5q226t3T6n6L3@6c5}0N5 616O4}045c6F6z1N665j5l69590/4#0@3`2Y5E6m4~5?5@6y6:0m0@1^626Z6:66686~6l0J0x0@5,0%0v6?5B6!0/6B0v1B6E2W6G6*326J1+6V5a0@6o6/6l6`5{6R6T6}7s6q6v726q70717i7c016,046.2:7H5x7a6@7H7u6|6)31707U3t740@5Q5S7P7H7e7g7X530@6K6p7k6N7/3m6Q5~607y7M6:7B7G6 0@0r7F2:7j317J3/7z7:6=5z6@6^7t0@0w7o0/4:0b7+6P04797C7k7W8p7?7v7^6U7=3t660g8h6r042b8g8x6M7q6Y2W6x8c7R6{0m7`2~848y808l6W7r7{8e8n8V6#0@6%5m8s3t868B7}3;5@7(4U788-8a7i8S3T0x0H0@035V0o812-7P8:6_8O8Q2r8`5f8U8*3T7Z04774Z6w95730@2l0N604`7~8Z7T5z1a4C0v2s4(2s4x2t4p1a2w9E0u1I9x4m1r2;0e0Y0!0$0O04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)