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
.1280135[4})2R,%Ba-Vi èà8mG16CMZl7.e:9A;US/dkftù{+Irj3sogu0x]PpO*nEhc=Léyv^(wq_b050L0D0O0l0o0A0W0p0.0A0l0W0W0/010O0o0(010406050W0Z0t0t0l0T0=040J0X0A0Z1d0X0+0p020l0t0(0H0p0h0D1n0T0`0Z0D0W050K1k1m1o1q1i0(041O1V051Y0K1Y1!1V1i0L0o0?1517191b0-0o0Y0-0A1=0-0O1g05100|0A0D1-181a011;1?1^1?0O1~201|0O0|0X0L1q1}0T1W0O0-151t0W0(0l0+1b0g01221/010N120D0+1B0D1|2q2s2x242A202D0t2F040a0p0%0T0X0(0X0W0o1w1y0~2o0T0T0D0.2!1O2H0+1W0K2m2:0O2k2j2l0L2J1b1^0+2C2X1|1*1,16232}0o2 0+2g1+1|0(2)1W2.2:3h1j2r1y352y3a0T1n0A1g0p0v2-3l1h3k2I3n243p3r3t0g3w2s3y2.2|013D0l3s040p0V3H2/1i3K3B1b3N3P0p0d3T3J3l3L3Z3t0b3%3V3)3X3M0X3q3O3t0w3.3z3m1.3C3?3E3Q0B3{3W3~3Y403^3Q0s443:463=3@3!0F4c3A4e3+040v0!3%1X3f1O332?0L2`3L0.2g2P0}1+1W3e0D3g3x4q4z0~4H4k36010M1g0~0N4q454O0_3t4U4d4O0+0N1g2C0{0W0-0l0L0X0M4Z4N2y1f040^4;3}4#1g3a0t0|2)4`3L4@0f0E3.0p580p3|3*1g0n0G0:0,0I0h0J3%5a4V2y0X1g0/5l5b3;4@0c523;0W2v04010u0G015x4e4@0i5s5n245z1g010k0I5F1P4I5L1b5I5K4!2y5N5B0z0)5S3j5V015X5T3I5m5Z5M5A010y5h5)5U5;5W1g0$57595t4e4Q040o4T5.2/5:4=3C4}0X4 51683Q624O5p040/5r6h6a4{2y0t0o1g4p6h6j4?1g566h06596E6q3L642)0O0Z0T0+5Y6b1b5#5C5E60586y6c042)1k0A100O6O6r246l6o3h6G5y5?5`3I6D615+640_1;206(5c044~500D6}3;6l020Y0O0H734e6t6v5G4O4@6B3h6?6F6.4l1g0.1;0N0N6g6-6W1b6+7a4|045e5g5i5k6x5+5v7e3o6d6f726p7u016l0j7x6s6u043$7E5|5,5~6U6F7N0+1g6Z0Z6#0l6%7M5+7w7.7X7%047o667r7L7t7/1g0R7R6X7)7+7-7i7k6V5+7?707s3x7l6k5q803Y7J718g7O1g0K0K8k7c7U7!7N6I0 6L6N7;6P3M7(1M7*6$3{0K4K4G4r8I0K4u1O0O4w8N2^2;2f2h2?0l1 8K4u1U4M6)1b2)0t0{0N0l0M0D0{0-0V1g1G1I1K1M0p7h4I1#3y1V0:0l2%2)2+0o1x0p3e2V2X210Z2 0p0t0;2m4A0p1K0o153O0.7*2120142W0o0L0W0i0p0L0Z970X9u148+0o8X0p0?0D0T14209B9D0p0N3?0O0C1X8~040S0A0p1M0O9B199G9N0L001v120o0W9K0p9c0p3O0Y3?2Z0-2O0p0Y0A0X1v1x9x9k9m0A9o9N9r9y7_0;2)0+0O9s9C9v9x9z9O9v9Q9S9I9K9M219tan9F8X9U8}1)1+3L261@1_1{8#3L2L2C2E1g2R0J0.0T1e9$0%0=9h8x3j4F8#3i4I8HaH3;644S7H244X6i7W8z4$4(0+4*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(0Z9/0W2s0.7{c07Xb bX5+8q3vbO6@7X6_6{cfcjb_c8ca19cdcs69bY1g026#0Hb!cta:8ibWbo7Fb+cn7k7$1gc9cbcybe8fb}3;7?cScx0+cecV040*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:8Z1Z040xat2U1 0q9}0W000l0(2rae0O210r9=1y98eK9}2$aeal2$0(0o0qce140X0P0p9N0W0=0W0OeL21e(e*e,0p9:0T119$7N1o9{1neT0#1g090^0c0d0@0+9xfd0Q0+0m0v0e9x0Cfofg0@0v9x0v0$090f3%ay1(eF0G9J0.eW0peT9Ze=e@e_9y21051Hc8e|1M1OfP9x9?9^9`2m9}9 a10O969R8w2ZfGa10Ua19Le:9,0+0o8^e~1t9-960l9AeY0Ae_fz3y8L0 111304.