Numération Shadok (I)

La langage Shadok ne comporte que 4 syllabes : « \(GA\) », « \(BU\) », « \(ZO\) » et « \(MEU\) ». Pour se compter, ils utilisent donc uniquement ces syllabes.

Ainsi :

  • quand il n'y a pas de Shadok, il disent qu'il y a \(GA\) Shadok ;
  • quand il y a \(1\) Shadok, il disent qu'il y a \(BU\) Shadok ;
  • quand il y a \(2\) Shadoks, il disent qu'il y a \(ZO\) Shadoks ;
  • quand il y a \(3\) Shadoks, il disent qu'il y a \(MEU\) Shadoks.

Quand il y a \(4\) Shadoks, ils les mettent dans une poubelle et comptent les poubelles. Ainsi \(6\) Shadoks correspondent à \(BU\) poubelle et \(ZO\) Shadoks, dit aussi \(BUZO\).

Quand il y a \(4\) poubelles de remplies, ils les mettent dans une grande poubelle et comptent les grandes poubelles. Ainsi \(33\) Shadoks correspondent à \(ZO\) grandes poubelles, \(GA\) poubelles et \(BU\) Shadok, dit aussi \(ZOGABU\).

Quand il y a \(4\) grandes poubelles remplies... bref ! Vous avez compris !

Les explications en vidéo

Écrire la fonction en_shadok qui prend en paramètre un entier nombre et renvoie une chaine de caractères qui exprime ce nombre en numération Shadok.

Exemples
>>> en_shadok(2)
'ZO'
>>> en_shadok(6)
'BUZO'
>>> en_shadok(33)
'ZOGABU'
Astuce

Il existe plusieurs méthodes pour résoudre ce problème. L'une d'elle s'appuie sur un algorithme glouton.

###(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
.128013:LpM%(40^ed3; 1Ej}Vo5_AnZ)Bh]ù6,qcG[yCuvà8i2+xmsU7=wlSIatf-9O{Rrg.*éPkbè/050l0k0)0(0R0#0W0o0I0#0(0W0W0Z010)0R0d010406050W0N0V0V0(0:0L040$0u0#0N1d0u0y0o020(0V0d0n0o0/0k1n0:0H0N0k0W050|1k1m1o1q1i0d041O1V051Y0|1Y1!1V1i0l0R0O1517191b0C0R0;0C0#1=0C0)1g05100`0#0k1-181a011;1?1^1?0)1~201|0)0`0u0l1q1}0:1W0)0C151t0W0d0(0y1b0S01221/010*120k0y1B0k1|2q2s2x242A202D0V2F040a0o0^0:0u0d0u0W0R1w1y0~2o0:0:0k0I2!1O2H0y1W0|2m2:0)2k2j2l0l2J1b1^0y2C2X1|1*1,16232}0R2 0y2g1+1|0d2)1W2.2:3h1j2r1y352y3a0:1n0#1g0o0p2-3l1h3k2I3n243p3r3t0S3w2s3y2.2|013D0(3s040o0m3H2/1i3K3B1b3N3P0o0h3T3J3l3L3Z3t0v3%3V3)3X3M0u3q3O3t0F3.3z3m1.3C3?3E3Q0Y3{3W3~3Y403^3Q0Q443:463=3@3!0,4c3A4e3+040p0i3%1X3f1O332?0l2`3L0I2g2P0}1+1W3e0k3g3x4q4z0~4H4k36010_1g0~0*4q454O0!3t4U4d4O0y0*1g2C0w0W0C0(0l0u0_4Z4N2y1f040g4;3}4#1g3a0V0`2)4`3L4@0A0b3.0o580o3|3*1g0t0x0c0q0X0/0$3%5a4V2y0u1g0Z5l5b3;4@0K523;0W2v04010J0x015x4e4@0G5s5n245z1g010B0X5F1P4I5L1b5I5K4!2y5N5B0z0-5S3j5V015X5T3I5m5Z5M5A010e5h5)5U5;5W1g0D57595t4e4Q040R4T5.2/5:4=3C4}0u4 51683Q624O5p040Z5r6h6a4{2y0V0R1g4p6h6j4?1g566h06596E6q3L642)0)0N0:0y5Y6b1b5#5C5E60586y6c042)1k0#100)6O6r246l6o3h6G5y5?5`3I6D615+640!1;206(5c044~500k6}3;6l020;0)0n734e6t6v5G4O4@6B3h6?6F6.4l1g0I1;0*0*6g6-6W1b6+7a4|045e5g5i5k6x5+5v7e3o6d6f726p7u016l0f7x6s6u043$7E5|5,5~6U6F7N0y1g6Z0N6#0(6%7M5+7w7.7X7%047o667r7L7t7/1g0T7R6X7)7+7-7i7k6V5+7?707s3x7l6k5q803Y7J718g7O1g0|0|8k7c7U7!7N6I0 6L6N7;6P3M7(1M7*6$3{0|4K4G4r8I0|4u1O0)4w8N2^2;2f2h2?0(1 8K4u1U4M6)1b2)0V0w0*0(0_0k0w0C0m1g1G1I1K1M0o7h4I1#3y1V0c0(2%2)2+0R1x0o3e2V2X210N2 0o0V0@2m4A0o1K0R153O0I7*2120142W0R0l0W0G0o0l0N970u9u148+0R8X0o0O0k0:14209B9D0o0*3?0)0=1X8~040%0#0o1M0)9B199G9N0l001v120R0W9K0o9c0o3O0;3?2Z0C2O0o0;0#0u1v1x9x9k9m0#9o9N9r9y7_0@2)0y0)9s9C9v9x9z9O9v9Q9S9I9K9M219tan9F8X9U8}1)1+3L261@1_1{8#3L2L2C2E1g2R0$0I0:1e9$0^0L9h8x3j4F8#3i4I8HaH3;644S7H244X6i7W8z4$4(0y4*4,4.4:a/8$7Y4^a+8h6 6e8ja{531g558s885d5f5h5j8k7:7|7X7Gb46/5O5D6;2/7N5-bg8z6R5Qbna%5H1g5J8ya|6R5%bvbpby8k6R5^5Ra a}5 6C6E8t1g668k89b28b5/7N6+6,8c7N8q6w5*bh6A7!bP6^8B6K6MbH5?bmb87=8B6!8EbA3Lbfb#5+6Rbv067j8d7I040d0N9/0W2s0I7{c07Xb bX5+8q3vbO6@7X6_6{cfcjb_c8ca19cdcs69bY1g026#0nb!cta:8ibWbo7Fb+cn7k7$1gc9cbcybe8fb}3;7?cScx0ycecV040?8p7T7V85cocIcvcTc$cz6i7}6mbTcRcwccc?c(8nc+1gc-3xc4b-cp1g6`2Bc{c;c#c%cX4e757779dg4Ob%bL7gb,c/a|7?7^7qcKc^chcWbrdsba7Bbdbjbx045wdF7y8ac@c66*8m8odlc7c!c~dfb)8z4@bNc.cPb9b17Kc(cGcAd$dLc(7QdR6XdTcUcO7#d$82b|dAb~dzcgc:d`7,c(7 d:b0du7`dq87cud=c e58lc`eecZc}d?d|74dPd28rd@bQ6Y8vb;ehb`8De26C1Oa$8J2:8Z1Z040Mat2U1 0{9}0W000(0d2rae0)210P9=1y98eK9}2$aeal2$0d0R0{ce140u0E0o9N0W0L0W0)eL21e(e*e,0o9:0:119$7N1o9{1neT0U1g090g0K0h0j0y9xfd0.0y0+0p0s9x0=fofg0j0p9x0p0D090A3%ay1(eF0x9J0IeW0oeT9Ze=e@e_9y21051Hc8e|1M1OfP9x9?9^9`2m9}9 a10)969R8w2ZfGa10ra19Le:9,0y0R8^e~1t9-960(9AeY0#e_fz3y8L0 111304.