Aller au contenu

Nombre de 1

Nombre de 1⚓︎

On considère un tableau vide ou ne contenant que des 0 et des 1. Ce tableau est trié dans l'ordre croissant et il est possible qu'il ne contienne que des 0 ou que des 1. Combien compte-t-il de 1 ?

Écrire la fonction compte_uns qui prend en paramètre un tel tableau et renvoie le nombre de 1 qu'il contient.

Attention

Certains des tableaux utilisés dans les tests sont très grands. Une méthode avec un coût linéaire sera inefficace face à ceux-ci.

On limite donc le nombre de lectures dans chaque tableau à 500. Passé cette valeur maximale, tout nouvel accès provoquera une erreur.

On rappelle à ce titre que le tableau est trié...

Exemples

Python Console Session
>>> compte_uns([0, 1, 1, 1])
3
>>> compte_uns([0, 0, 0, 1, 1])
2
>>> compte_uns([0] * 200)
0
>>> compte_uns([1] * 300)
300
>>> compte_uns([0] * 200 + [1] * 500)
500
Exercice 1

Compléter le script ci-dessous :

###(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 : 5/5

.12801340tc1mRwLhpb.2qUiS:O=-rk;+xf6[lPn éeagd,I_v)u7y83s5oê/(]zC9050N0K0d0L0r0F0Y0I0e0F0L0Y0Y0v010d0r0l010406050Y0T0g0g0L0x0V040s0!0F0T0 0!0H0I020L0g0l0z0I0h0K190x0p0T0K0Y050$16181a1c140l04051H1A1K0$1H140N0r0R0@0_0{0}0_0H0M0T0L0M0K0w0l0V0d0k1j0I0k0r0M0k0F1:0k0d12050/0m0F0K1T0`0|011/1;1?1;0d1|1~1`0d0x1I1+0@1f0Y0l0L0H0}0o01201V010C0;0K0H1n0K1`2i2k2p222s1~2v0g2x040a0I0G0x0!0l0!0Y0r1i1k0-2g0x0x0K0e2S1A2z0H1I0$1+2(2c2e2d1{0N2B1W0r0H2u2P1`1Q1S0^212=2@0H0!2{1`0l2X1I2$2(38152j1k2}2q310x190F1`0L1.2X0C0}030Q0Q0e320K1?300!0w0f3z120I0f1A0L393c133b2A3e223g3i3k3m0K3o013q3s3u3w2^3z0w2n040I0o3F3H2k3J2$2;013O0L3j1I3l0k3n3p3r3t0-3Y313!0X3C0X3*2#3I143.3M0}3;3?053^3`3U3|3X2?3Z3A0b3C0b451B473K3d1U3N0!3h3=3Q3_3S3{3W3~4k403A0Z3C0Z4q38483c3/4c4A4g3V3}3v4G3y3A0D3C0D4M4s494v4b4x3P3@3R3T4U4j3x3!0U3C0U4%3,4O3L4*3:4,4z4.4B4:4i4F4?3A0W3C0W4{2%4}4u2~504y4d4f4C4h4E4W580w0+3C0+5d3-4P4a5i4-4e4/4D4V3 4Y3z0c120f0c5v5f4Q515k5C5n5E4X3!0f0f5J3E0$3G464|4t5O5j4S5m4;574l3z3$0f3)5!3+5e5(5y4R534T565p5/0f4204625M5`4 5|5B545D4=614n644p5@5$5_4)5h695l555o5F5V4J644L6i4r5%6l3f5P5+6p5T5q0f4!644$6w4N676m6B5}5,5 6r3A0f4^644`6K4(5x686O6a5~6q5U6T5a645c6Y6y6!6N5*6P6D6d4H3z5s645u6/2%1L361A2{2+0N2e2:5y4V2`1R1I350K373I6j1I4V7g2A0r0N0}3r2$5V3Q7n7p6)6F2o2F0K7v6E611`6i6z220y120-0C7i6M2q0i3C7M7G4b0C123t1o0d0K0Q0T0H1z6x707S0111040%7R6;3f12290K0L0T7/4~5h7,0S0t7i147(7l1k7u017q3c3!3$5B856R6*3#7y2w7B6_5G8a5@0I8n0I7N7H120r7L828p7*0H7=0L1}7@7_8v8q0}0!120v0v7i8w7:227,0E0(7 82813a3.8c0Q7r3A638b7o867w5/420I7z8i5.6`8#8m8o8?8F017I042X0d0T0x0H8L8^0g0r125L8T7`848%872k3!6f8$8.606`4n8,8h8(7C9i7E3G8U7h8W9a8Y884I7t9u9n5G4J9k2G9g6S0w6t3*8@7*8`8t918x8z8B7^983/8P9T5y93959W4 7,0(9O8N8G8I8K8E7*9Y649!7|128S6L825(8X8Z0w6H9f9m8j3!4!9D7Aa08/5G9~8=8?8n8^8`8|8~909-9)3:0m122E9;2q7,7.9_9P047?9Sasaj7}809T9{9w0w6V9 8d5q4^a49F8eaF5@9r3,9`9u9|6,aG8)6`5aaKa69h5GaUaa8M7{7;040-0m1h9(a*228H049,38a)5g2q9/969^8V4PaC9c3A6|aV9A3!5saZaH5/b5a(8^8y042saha_8^a?a^3Ia`4Qal04anaxa;0}aqao3N9Q1~awb0bv7+120Sa:a{a=120wbI3/9/5Za 9sb1aSaD5K9yaL6F5IbaaW5GbW2(3G9Kaj8`0i1/1~bN5{7J0Ka.0db;4 a?020F0d0zbn3,bpb=bh2?bybw9?aAbu997v9|5WbXa!9Gcfb#b76T5Xb)3%abacat931?0K8Dbk7*bmb`9=7-c73:b?b^cA2qa?0AcHbzc5bjbSbEazaibEa?0$0$cL0}9/5?bRaQ9tcdbV8a3l8Xcl5:8g9Ech8e5=9pcpcqad8s8ucxajbgavcwcPbJc8040EcDbgct0rcvcD9$cX01bmc12%c34 a}dcc997cb0Ib20H5V8#c+9za16T8+8-c;6F8;b*cqabbfcFa/cSd3df8Ided80;dad1c2bl12cKdKbO949:dobDcc8(ce9edvbY6ec/a5bb6`0f9ea(b+bE8`4Wc|bodHau8AbBdS7)ay12d6dpc4d9dbdX5ya?bMebdkdZbQd29U129%ef5hdgdebPdm049@4sdpdr6scgd:b%9CdAeAeycodFdGatbideczena+e9e23%dU04eec}bEerd#ejex6T9~d+dB61a3eDb$5Va9dEc_9L123v0Y0Keseu5%ewbUb33zaFe%eE6TaJe+c-6Uc@eHd^dLae0.agdObrbtd$ekcCe768bA8CesbHeNbKeTdO12ePcafie!3zaUf1e,6+d.d,d;a%9qaBe}ds6Tb5fCf6b9f5dx6{f88oc`8{fd8 eqdZa~ev3a0$7k717f737c1A0d76f:2.2)e0f-0$741G833/2X0g0Q0C0L0y7Z0k631s1u1w1y0Ie`701N3J1H0j1 7e930K0x0I7Y0Y0d0I0lgn2Ggs2U2c0:7Ygo1~0@0`0I0-0?d00B0I0R7n1y0n0Igj0Ie@3t0H783v0T0rgGgcgJ8,1 gU7Y2v0Hgsgbg!1z4V3/1X1Z1#1%1)1.1@261^2yajeXf)7kgP0u1k2X0H0R0!da0I3=4x0?1Q2X2Z1t2ugs0_0I0F1j1Zcvgo0N0Tgpf_7^gP0*g(gF2O8~0xgA0I0#2c1 gz2R0Jgt1ahn3l0m0!0T0^gk0x2?0e103=1 190r0?0ehJ1ygs2?2R0r3=gtgv0.gG002N0 93e@gCg(3u0n1Lgh04gRd0h;1hhGhIhN0x0/0MhM2ug!0TgK0)1jgc0%0J0Rhk1x0F1~2Gg,gLgN0Y0Sgd0I7#1 ij2@g%2gg,2u2kg-1xg/8pg;5yg?1!1$1(0Vg{251@1_f~9Xf$7Mf*3u040OiAiE7^i9iEg)iIiug.gHiN3ug=2kg@iSg`241=iXg eWehi$h3i1f}h5iA0 1?e@i+1 hh0kgn0ejhgG0rjj0!0d0!93g.0Lbig!gp2M0TiogC3l2O2Q2SgGhugldago05iO4 iQg^iTiVj027j2dLh17hi%0-i)hn0r937Y0Ihk2X0@gc0-ih0IiDgO0I0P0FgS001#2Rjv0F007#0rg.jKi_iPi{iRg_iUi g}iY92j49_jX7fgt0x0J0e0J0NhM2jgo7#i^2Uk41Yk6jPk9j1iZeg9Zkeh30I0qiE0ChagIjx0RhM1-h7h9hbgD310g0mj*2Uk2ksjMk5jOi~g|kykc5Jj5i(i0ggf}0sgZj}1-1w2Rj%hmhRhTgD0Y2k0?0LkPgokO0!0VhM2Uki16b~0Lgs0e00h+0Ig.gDi5i/1jg*hF7^0ekqkXg(kZkuk#k8k%jSkz5hjVaQkf04h41kgui7l40Vgnkrlt5hjNi}lxiWlzk)04f%lDj6k.730.0:0=04.

Crédits⚓︎

Un exercice de Nicolas Revéret