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
.128013OB10(UP-5iVsM+.e,cw[ùEn23LAhué*_jg67ZR%=GtCS;8lmf}àoxk/9):p^Ivrby]d4 a{qè050?0q0Q0_0k0V0m0^0s0V0_0m0m0O010Q0k0+010406050m0D0W0W0_0/0;040S0!0V0D1d0!0x0^020_0W0+0T0^0M0q1n0/0{0D0q0m050%1k1m1o1q1i0+041O1V051Y0%1Y1!1V1i0?0k0.1517191b0C0k0I0C0V1=0C0Q1g05100:0V0q1-181a011;1?1^1?0Q1~201|0Q0:0!0?1q1}0/1W0Q0C151t0m0+0_0x1b0y01221/010X120q0x1B0q1|2q2s2x242A202D0W2F040a0^0h0/0!0+0!0m0k1w1y0~2o0/0/0q0s2!1O2H0x1W0%2m2:0Q2k2j2l0?2J1b1^0x2C2X1|1*1,16232}0k2 0x2g1+1|0+2)1W2.2:3h1j2r1y352y3a0/1n0V1g0^0d2-3l1h3k2I3n243p3r3t0y3w2s3y2.2|013D0_3s040^0z3H2/1i3K3B1b3N3P0^0@3T3J3l3L3Z3t0j3%3V3)3X3M0!3q3O3t0J3.3z3m1.3C3?3E3Q0K3{3W3~3Y403^3Q0U443:463=3@3!0(4c3A4e3+040d0e3%1X3f1O332?0?2`3L0s2g2P0}1+1W3e0q3g3x4q4z0~4H4k36010$1g0~0X4q454O0t3t4U4d4O0x0X1g2C0G0m0C0_0?0!0$4Z4N2y1f040f4;3}4#1g3a0W0:2)4`3L4@0)0*3.0^580^3|3*1g0l0B0A0w0g0M0S3%5a4V2y0!1g0O5l5b3;4@0u523;0m2v04010P0B015x4e4@0r5s5n245z1g010c0g5F1P4I5L1b5I5K4!2y5N5B0L0b5S3j5V015X5T3I5m5Z5M5A010n5h5)5U5;5W1g0=57595t4e4Q040k4T5.2/5:4=3C4}0!4 51683Q624O5p040O5r6h6a4{2y0W0k1g4p6h6j4?1g566h06596E6q3L642)0Q0D0/0x5Y6b1b5#5C5E60586y6c042)1k0V100Q6O6r246l6o3h6G5y5?5`3I6D615+640t1;206(5c044~500q6}3;6l020I0Q0T734e6t6v5G4O4@6B3h6?6F6.4l1g0s1;0X0X6g6-6W1b6+7a4|045e5g5i5k6x5+5v7e3o6d6f726p7u016l0N7x6s6u043$7E5|5,5~6U6F7N0x1g6Z0D6#0_6%7M5+7w7.7X7%047o667r7L7t7/1g0o7R6X7)7+7-7i7k6V5+7?707s3x7l6k5q803Y7J718g7O1g0%0%8k7c7U7!7N6I0 6L6N7;6P3M7(1M7*6$3{0%4K4G4r8I0%4u1O0Q4w8N2^2;2f2h2?0_1 8K4u1U4M6)1b2)0W0G0X0_0$0q0G0C0z1g1G1I1K1M0^7h4I1#3y1V0A0_2%2)2+0k1x0^3e2V2X210D2 0^0W0E2m4A0^1K0k153O0s7*2120142W0k0?0m0r0^0?0D970!9u148+0k8X0^0.0q0/14209B9D0^0X3?0Q0p1X8~040-0V0^1M0Q9B199G9N0?001v120k0m9K0^9c0^3O0I3?2Z0C2O0^0I0V0!1v1x9x9k9m0V9o9N9r9y7_0E2)0x0Q9s9C9v9x9z9O9v9Q9S9I9K9M219tan9F8X9U8}1)1+3L261@1_1{8#3L2L2C2E1g2R0S0s0/1e9$0h0;9h8x3j4F8#3i4I8HaH3;644S7H244X6i7W8z4$4(0x4*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+6Rbv067j8d7I040+0D9/0m2s0s7{c07Xb bX5+8q3vbO6@7X6_6{cfcjb_c8ca19cdcs69bY1g026#0Tb!cta:8ibWbo7Fb+cn7k7$1gc9cbcybe8fb}3;7?cScx0xcecV040F8p7T7V85cocIcvcTc$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:8Z1Z040Rat2U1 0|9}0m000_0+2rae0Q210Z9=1y98eK9}2$aeal2$0+0k0|ce140!0v0^9N0m0;0m0QeL21e(e*e,0^9:0/119$7N1o9{1neT0#1g090f0u0@0,0x9xfd0`0x0i0d0Y9x0pfofg0,0d9x0d0=090)3%ay1(eF0B9J0seW0^eT9Ze=e@e_9y21051Hc8e|1M1OfP9x9?9^9`2m9}9 a10Q969R8w2ZfGa10Ha19Le:9,0x0k8^e~1t9-960_9AeY0Ve_fz3y8L0 111304.