Nous avons déjà pas mal de défis avec le drapeau national: AU CH FI FR GB GB IS KR NP US ... Voici un autre, un peu plus avancé:
Renvoyez ou imprimez le motif décoratif du drapeau national du Bélarus sous la forme d'une matrice de deux valeurs distinctes pour le rouge et le blanc.
Si votre langue ne prend pas en charge les matrices, utilisez une liste de listes ou l'équivalent le plus proche. Des espaces supplémentaires sont autorisés de tous les côtés. La matrice peut être transposée. Les éléments peuvent avoir un séparateur cohérent, tout comme les lignes, par exemple la sortie peut être JSON. Vous devez utiliser la version 2012 du motif d'ornement, pas les versions 1951 ou 1995. C'est le code-golf , donc la réponse la plus courte par langue l'emporte.
Exemple de sortie:
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..#######.....#######..
.#########...#########.
#######################
####...#########...####
.#####..#######..#####.
..###....#####....###..
#..#....#######....#..#
.......####.####.......
#.....####...####.....#
##...####..#..####...##
###.####.......####.###
.######..#...#..######.
..####...##.##...####..
...###....###....###...
....##.#...#...#.##....
...###....###....###...
..####...##.##...####..
.######..#...#..######.
###.####.......####.###
##...####..#..####...##
#.....####...####.....#
.......####.####.......
#..#....#######....#..#
..###....#####....###..
.#####..#######..#####.
####...#########...####
#######################
.#########...#########.
..#######.....#######..
#..#####...#...#####..#
....###....#....###....
..#..#..#.....#..#..#..
.###...###...###...###.
##.##.##.##.##.##.##.##
.###...###...###...###.
..#..#..#.....#..#..#..
....###....#....###....
#..#####...#...#####..#
..###.###.....###.###..
.###...###...###...###.
###..#..###.###..#..###
.###...###...###...###.
..###.###.....###.###..
#..#####...#...#####..#
....###....#....###....
for s in S[:0:-1]+S:print s[:0:-1]+s
double les lignes et imprime chaque ligne doubléJavaScript (ES6), 164 octets
Sortie transposée. Utilise le
0
blanc, le1
rouge.Essayez-le en ligne! (sortie prettifiée)
L'utilisation de Buffer () dans Node.js permet d'économiser 1 octet.
la source
SOGL V0.12 ,
6156 octetsEssayez-le ici!
la source
Fusain,
938981 octetsMa première réponse au fusain! :RÉ
Essayez-le en ligne!
4 octets enregistrés en générant la conception horizontalement plutôt que verticalement (moins de nouvelles lignes).
Merci à @Neil d'avoir économisé 8 octets!
la source
‖B
accepte plusieurs opérandes, certaines combinaisons ont même un codage sur un octet (¬
etL
par exemple)..
s devrait vous faire économiser quelques octets car vous n'avez pas besoin d'espaces à la fin d'une ligne.‖B¬
et cela n'aide pas parce que le littéral de chaîne reflété coûte un octet supplémentaire, mais‖BL
enregistre un octet parce que le littéral de chaîne inversé est le même nombre d'octets.‖BL
ça me fait 83 octets, et ça‖B¬
peut se faire en 81 octets: Essayez-le en ligne!Python 2, 153 octets
Essayez-le en ligne!
la source
Perl 5 , 121 octets
Utilise
1
pour les pixels blancs et0
pour le rouge.Ce script contient des caractères non imprimables donc un vidage hexadécimal réversible est inclus dans le lien de vérification ci-dessous.
Essayez-le en ligne!
Vérification de la longueur du code .
Explication
Le quart supérieur du motif est stocké dans le blob binaire. Cela utilise simplement la
pack
fonction de Perl avec la chaîne binaire d'origine (après avoir remplacé.
et#
avec1
et0
). Cela nous permet de stocker 8 bits du modèle dans chaque octet. Une fois que nous avons décompressé les données, nous avons la longue chaîne binaire, que nous décomposons en sections de longueur 12, concaténons avec l'inverse (sauf pour le caractère du milieu dupliqué), puis bouclons sur la liste des sections (concaténées avec l'inverse) de la liste, à l'exception de l'élément central dupliqué) et les afficher tous en utilisantsay
, ce qui ajoute une nouvelle ligne.la source