Vous avez une grille 3x3. Chaque cellule peut être colorée en noir ou blanc. Affichez les 512 coloris. Le moins d'octets gagne.
Vous pouvez afficher les grilles dans n'importe quelle formation tant qu'elles sont visuellement séparées et que l'espacement semble régulier. Vous pouvez utiliser de l'art ou des images ASCII. Deux symboles ou couleurs visibles distincts peuvent être utilisés pour le noir et le blanc. Tout espace est correct tant que le résultat est visuellement correct.
Exemple de sortie:
...
...
...
...
...
..X
...
...
.X.
...
...
.XX
...
...
X..
...
...
X.X
...
...
XX.
...
...
XXX
...
..X
...
...
..X
..X
...
..X
.X.
...
..X
.XX
...
..X
X..
...
..X
X.X
...
..X
XX.
...
..X
XXX
...
.X.
...
...
.X.
..X
...
.X.
.X.
...
.X.
.XX
...
.X.
X..
...
.X.
X.X
...
.X.
XX.
...
.X.
XXX
...
.XX
...
...
.XX
..X
...
.XX
.X.
...
.XX
.XX
...
.XX
X..
...
.XX
X.X
...
.XX
XX.
...
.XX
XXX
...
X..
...
...
X..
..X
...
X..
.X.
...
X..
.XX
...
X..
X..
...
X..
X.X
...
X..
XX.
...
X..
XXX
...
X.X
...
...
X.X
..X
...
X.X
.X.
...
X.X
.XX
...
X.X
X..
...
X.X
X.X
...
X.X
XX.
...
X.X
XXX
...
XX.
...
...
XX.
..X
...
XX.
.X.
...
XX.
.XX
...
XX.
X..
...
XX.
X.X
...
XX.
XX.
...
XX.
XXX
...
XXX
...
...
XXX
..X
...
XXX
.X.
...
XXX
.XX
...
XXX
X..
...
XXX
X.X
...
XXX
XX.
...
XXX
XXX
..X
...
...
..X
...
..X
..X
...
.X.
..X
...
.XX
..X
...
X..
..X
...
X.X
..X
...
XX.
..X
...
XXX
..X
..X
...
..X
..X
..X
..X
..X
.X.
..X
..X
.XX
..X
..X
X..
..X
..X
X.X
..X
..X
XX.
..X
..X
XXX
..X
.X.
...
..X
.X.
..X
..X
.X.
.X.
..X
.X.
.XX
..X
.X.
X..
..X
.X.
X.X
..X
.X.
XX.
..X
.X.
XXX
..X
.XX
...
..X
.XX
..X
..X
.XX
.X.
..X
.XX
.XX
..X
.XX
X..
..X
.XX
X.X
..X
.XX
XX.
..X
.XX
XXX
..X
X..
...
..X
X..
..X
..X
X..
.X.
..X
X..
.XX
..X
X..
X..
..X
X..
X.X
..X
X..
XX.
..X
X..
XXX
..X
X.X
...
..X
X.X
..X
..X
X.X
.X.
..X
X.X
.XX
..X
X.X
X..
..X
X.X
X.X
..X
X.X
XX.
..X
X.X
XXX
..X
XX.
...
..X
XX.
..X
..X
XX.
.X.
..X
XX.
.XX
..X
XX.
X..
..X
XX.
X.X
..X
XX.
XX.
..X
XX.
XXX
..X
XXX
...
..X
XXX
..X
..X
XXX
.X.
..X
XXX
.XX
..X
XXX
X..
..X
XXX
X.X
..X
XXX
XX.
..X
XXX
XXX
.X.
...
...
.X.
...
..X
.X.
...
.X.
.X.
...
.XX
.X.
...
X..
.X.
...
X.X
.X.
...
XX.
.X.
...
XXX
.X.
..X
...
.X.
..X
..X
.X.
..X
.X.
.X.
..X
.XX
.X.
..X
X..
.X.
..X
X.X
.X.
..X
XX.
.X.
..X
XXX
.X.
.X.
...
.X.
.X.
..X
.X.
.X.
.X.
.X.
.X.
.XX
.X.
.X.
X..
.X.
.X.
X.X
.X.
.X.
XX.
.X.
.X.
XXX
.X.
.XX
...
.X.
.XX
..X
.X.
.XX
.X.
.X.
.XX
.XX
.X.
.XX
X..
.X.
.XX
X.X
.X.
.XX
XX.
.X.
.XX
XXX
.X.
X..
...
.X.
X..
..X
.X.
X..
.X.
.X.
X..
.XX
.X.
X..
X..
.X.
X..
X.X
.X.
X..
XX.
.X.
X..
XXX
.X.
X.X
...
.X.
X.X
..X
.X.
X.X
.X.
.X.
X.X
.XX
.X.
X.X
X..
.X.
X.X
X.X
.X.
X.X
XX.
.X.
X.X
XXX
.X.
XX.
...
.X.
XX.
..X
.X.
XX.
.X.
.X.
XX.
.XX
.X.
XX.
X..
.X.
XX.
X.X
.X.
XX.
XX.
.X.
XX.
XXX
.X.
XXX
...
.X.
XXX
..X
.X.
XXX
.X.
.X.
XXX
.XX
.X.
XXX
X..
.X.
XXX
X.X
.X.
XXX
XX.
.X.
XXX
XXX
.XX
...
...
.XX
...
..X
.XX
...
.X.
.XX
...
.XX
.XX
...
X..
.XX
...
X.X
.XX
...
XX.
.XX
...
XXX
.XX
..X
...
.XX
..X
..X
.XX
..X
.X.
.XX
..X
.XX
.XX
..X
X..
.XX
..X
X.X
.XX
..X
XX.
.XX
..X
XXX
.XX
.X.
...
.XX
.X.
..X
.XX
.X.
.X.
.XX
.X.
.XX
.XX
.X.
X..
.XX
.X.
X.X
.XX
.X.
XX.
.XX
.X.
XXX
.XX
.XX
...
.XX
.XX
..X
.XX
.XX
.X.
.XX
.XX
.XX
.XX
.XX
X..
.XX
.XX
X.X
.XX
.XX
XX.
.XX
.XX
XXX
.XX
X..
...
.XX
X..
..X
.XX
X..
.X.
.XX
X..
.XX
.XX
X..
X..
.XX
X..
X.X
.XX
X..
XX.
.XX
X..
XXX
.XX
X.X
...
.XX
X.X
..X
.XX
X.X
.X.
.XX
X.X
.XX
.XX
X.X
X..
.XX
X.X
X.X
.XX
X.X
XX.
.XX
X.X
XXX
.XX
XX.
...
.XX
XX.
..X
.XX
XX.
.X.
.XX
XX.
.XX
.XX
XX.
X..
.XX
XX.
X.X
.XX
XX.
XX.
.XX
XX.
XXX
.XX
XXX
...
.XX
XXX
..X
.XX
XXX
.X.
.XX
XXX
.XX
.XX
XXX
X..
.XX
XXX
X.X
.XX
XXX
XX.
.XX
XXX
XXX
X..
...
...
X..
...
..X
X..
...
.X.
X..
...
.XX
X..
...
X..
X..
...
X.X
X..
...
XX.
X..
...
XXX
X..
..X
...
X..
..X
..X
X..
..X
.X.
X..
..X
.XX
X..
..X
X..
X..
..X
X.X
X..
..X
XX.
X..
..X
XXX
X..
.X.
...
X..
.X.
..X
X..
.X.
.X.
X..
.X.
.XX
X..
.X.
X..
X..
.X.
X.X
X..
.X.
XX.
X..
.X.
XXX
X..
.XX
...
X..
.XX
..X
X..
.XX
.X.
X..
.XX
.XX
X..
.XX
X..
X..
.XX
X.X
X..
.XX
XX.
X..
.XX
XXX
X..
X..
...
X..
X..
..X
X..
X..
.X.
X..
X..
.XX
X..
X..
X..
X..
X..
X.X
X..
X..
XX.
X..
X..
XXX
X..
X.X
...
X..
X.X
..X
X..
X.X
.X.
X..
X.X
.XX
X..
X.X
X..
X..
X.X
X.X
X..
X.X
XX.
X..
X.X
XXX
X..
XX.
...
X..
XX.
..X
X..
XX.
.X.
X..
XX.
.XX
X..
XX.
X..
X..
XX.
X.X
X..
XX.
XX.
X..
XX.
XXX
X..
XXX
...
X..
XXX
..X
X..
XXX
.X.
X..
XXX
.XX
X..
XXX
X..
X..
XXX
X.X
X..
XXX
XX.
X..
XXX
XXX
X.X
...
...
X.X
...
..X
X.X
...
.X.
X.X
...
.XX
X.X
...
X..
X.X
...
X.X
X.X
...
XX.
X.X
...
XXX
X.X
..X
...
X.X
..X
..X
X.X
..X
.X.
X.X
..X
.XX
X.X
..X
X..
X.X
..X
X.X
X.X
..X
XX.
X.X
..X
XXX
X.X
.X.
...
X.X
.X.
..X
X.X
.X.
.X.
X.X
.X.
.XX
X.X
.X.
X..
X.X
.X.
X.X
X.X
.X.
XX.
X.X
.X.
XXX
X.X
.XX
...
X.X
.XX
..X
X.X
.XX
.X.
X.X
.XX
.XX
X.X
.XX
X..
X.X
.XX
X.X
X.X
.XX
XX.
X.X
.XX
XXX
X.X
X..
...
X.X
X..
..X
X.X
X..
.X.
X.X
X..
.XX
X.X
X..
X..
X.X
X..
X.X
X.X
X..
XX.
X.X
X..
XXX
X.X
X.X
...
X.X
X.X
..X
X.X
X.X
.X.
X.X
X.X
.XX
X.X
X.X
X..
X.X
X.X
X.X
X.X
X.X
XX.
X.X
X.X
XXX
X.X
XX.
...
X.X
XX.
..X
X.X
XX.
.X.
X.X
XX.
.XX
X.X
XX.
X..
X.X
XX.
X.X
X.X
XX.
XX.
X.X
XX.
XXX
X.X
XXX
...
X.X
XXX
..X
X.X
XXX
.X.
X.X
XXX
.XX
X.X
XXX
X..
X.X
XXX
X.X
X.X
XXX
XX.
X.X
XXX
XXX
XX.
...
...
XX.
...
..X
XX.
...
.X.
XX.
...
.XX
XX.
...
X..
XX.
...
X.X
XX.
...
XX.
XX.
...
XXX
XX.
..X
...
XX.
..X
..X
XX.
..X
.X.
XX.
..X
.XX
XX.
..X
X..
XX.
..X
X.X
XX.
..X
XX.
XX.
..X
XXX
XX.
.X.
...
XX.
.X.
..X
XX.
.X.
.X.
XX.
.X.
.XX
XX.
.X.
X..
XX.
.X.
X.X
XX.
.X.
XX.
XX.
.X.
XXX
XX.
.XX
...
XX.
.XX
..X
XX.
.XX
.X.
XX.
.XX
.XX
XX.
.XX
X..
XX.
.XX
X.X
XX.
.XX
XX.
XX.
.XX
XXX
XX.
X..
...
XX.
X..
..X
XX.
X..
.X.
XX.
X..
.XX
XX.
X..
X..
XX.
X..
X.X
XX.
X..
XX.
XX.
X..
XXX
XX.
X.X
...
XX.
X.X
..X
XX.
X.X
.X.
XX.
X.X
.XX
XX.
X.X
X..
XX.
X.X
X.X
XX.
X.X
XX.
XX.
X.X
XXX
XX.
XX.
...
XX.
XX.
..X
XX.
XX.
.X.
XX.
XX.
.XX
XX.
XX.
X..
XX.
XX.
X.X
XX.
XX.
XX.
XX.
XX.
XXX
XX.
XXX
...
XX.
XXX
..X
XX.
XXX
.X.
XX.
XXX
.XX
XX.
XXX
X..
XX.
XXX
X.X
XX.
XXX
XX.
XX.
XXX
XXX
XXX
...
...
XXX
...
..X
XXX
...
.X.
XXX
...
.XX
XXX
...
X..
XXX
...
X.X
XXX
...
XX.
XXX
...
XXX
XXX
..X
...
XXX
..X
..X
XXX
..X
.X.
XXX
..X
.XX
XXX
..X
X..
XXX
..X
X.X
XXX
..X
XX.
XXX
..X
XXX
XXX
.X.
...
XXX
.X.
..X
XXX
.X.
.X.
XXX
.X.
.XX
XXX
.X.
X..
XXX
.X.
X.X
XXX
.X.
XX.
XXX
.X.
XXX
XXX
.XX
...
XXX
.XX
..X
XXX
.XX
.X.
XXX
.XX
.XX
XXX
.XX
X..
XXX
.XX
X.X
XXX
.XX
XX.
XXX
.XX
XXX
XXX
X..
...
XXX
X..
..X
XXX
X..
.X.
XXX
X..
.XX
XXX
X..
X..
XXX
X..
X.X
XXX
X..
XX.
XXX
X..
XXX
XXX
X.X
...
XXX
X.X
..X
XXX
X.X
.X.
XXX
X.X
.XX
XXX
X.X
X..
XXX
X.X
X.X
XXX
X.X
XX.
XXX
X.X
XXX
XXX
XX.
...
XXX
XX.
..X
XXX
XX.
.X.
XXX
XX.
.XX
XXX
XX.
X..
XXX
XX.
X.X
XXX
XX.
XX.
XXX
XX.
XXX
XXX
XXX
...
XXX
XXX
..X
XXX
XXX
.X.
XXX
XXX
.XX
XXX
XXX
X..
XXX
XXX
X.X
XXX
XXX
XX.
XXX
XXX
XXX
code-golf
ascii-art
graphical-output
combinatorics
grid
Filipe Teixeira
la source
la source
1
s et les0
s sont remplacés parX
et.
Réponses:
K, 11 octets
Exemple de sortie:
Il s'agit de la représentation jolie imprimée native de K d'une liste de matrices, qui je pense est suffisante pour la spécification du problème. Chaque matrice est délimitée par un ensemble de parenthèses englobantes.
Et un rapide test de validité pour démontrer que 512 matrices sont construites:
Très simple. La plupart du travail est dans le
!
. D'abord, nous générons un vecteur de 9 de 2 en utilisant "take" (9#2
). Ensuite, nous utilisons la forme monadique "odomètre" de!
- quelques exemples illustrent son comportement:Ensuite, il suffit de refaçonner 3x3 (
(3 3#)
) de chacun ('
) des vecteurs 0/1 de 9 longueurs.la source
Mathematica, 25 octets
Donne un tableau avec toutes les grilles sous forme d'images, qui est également directement affiché à l'écran:
(Recadrée pour ne pas faire exploser le poteau inutilement.)
la source
JavaScript, 77
80Révisé après la révision du PO. Maintenant, nous avons une question, voici donc une réponse.
Exécutez l'extrait dans n'importe quel navigateur pour tester.
Old post: affichage graphique dans un navigateur, avec javascript et canvas. ~ 300 octets de code (peut être raccourci).
Exécutez l'extrait ci-dessous.
la source
(ES6)
, vous pouvez remplacer.join('\n')
par .join` `(saut de ligne littéral, pas d'espace ... formatage de commentaire stupide) pour économiser 3 octetsMatlab, 33
C'était un peu compliqué d'obtenir les dimensions correctes, mais je suis très content du résultat!
la source
POWERSHELL - 65
résultat
confirmation
edit inspiré par l'affichage des résultats de la réponse mathématique-617
la source
Python 2, 49 octets
Divisez l'expansion binaire de
i
. Les valeurs binaires de longueur 10 512 à 1023 sont utilisées, coupant le 1 initial (et le préfixe0b
). Ceux - ci sont divisés en morceaux de 3 fenêtres comme[3:6]
,[6:9]
,[9:12]
et[12:15]
, avec le dernier en blanc pour faire une ligne blanche. L'itération sur les quatre tranches est réduite à la boucle externe de comptage sur 512 nombres avec l'astuce divmod.la source
CJam, 12 octets
Testez-le ici.
Utilise
0
et1
comme caractères distincts.Explication
Une solution alternative (toujours de 12 octets) est
la source
Rubis, 86 octets
Le mien imprime avec des guillemets car
p
est plus court queputs
, mais il correspond toujours aux règles.la source
Haskell,
5754 octetsf
donne le même résultat que dans la description du défi, c'est-à-dire qu'il commence parEdit: @Mauris a trouvé 3 octets à enregistrer. Merci!
la source
r x=sequence[x,x,x]
fait la même chose et est plus court.C # - 111
Convertit chaque entier en sa représentation binaire et divise tous les 3 caractères.
la source
Python 2, 95 octets
Les caractères distincts sont
0
et1
, chaque bloc est séparé par\n\n
.la source
Python 2, 81
la source
Rubis, 92 octets
Compte en
0
s et1
s, et chaque bloc est séparé par une ligne vide (\n\n
)la source
Rubis, 68 octets
Imprime exactement la même sortie que l'exemple donné dans la question
la source
tr
, sortie0
et ça1
va. Quelques suggestions de plus512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}
50 octets.Python 3, 80 octets
J'ai réussi à déjouer quelqu'un :)
la source
i=512
nouvelle lignewhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
PHP, 55 octets
utilise
0
et1
. Courez avec-r
.la source
Pyth, 11 octets
Essayez-le ici!
Merci @Jakube :)
la source
Python 2 , 56 octets
Essayez-le en ligne!
Renvoie les 512 configurations en tant qu'objet défini en python. Reportez-vous à la version non golfée pour rendre la sortie plus lisible.
Version non golfée pour rendre la sortie plus lisible:
Python 2 , 121 octets
Essayez-le en ligne!
la source
C - 97 octets
Imprime essentiellement l'exemple de sortie de la question d'origine.
la source
Swift 2, 92 octets
L'int en chaîne binaire dans Swift prend trop de caractères donc j'utilise juste deux boucles imbriquées ...
la source
Prolog (SWI), 98 octets
La sortie est une liste de matrices 3x3 contenant les éléments 0 et 1.
Interprète en ligne
J'ai l'impression que la génération de matrice pourrait être plus courte.
Il devrait être possible d'intégrer les deux dans un forall ou quelque chose de similaire, mais je ne sais pas comment.
Conseils de golf appréciés.
la source
Perl,
5655 octetsSortie:
la source
Python 3,
123121109 109103 octetsVoici mon ancien:
Et voici ma nouvelle:
Cela imprime des caractères supplémentaires, mais l'OP a déclaré que l'art ASCII est autorisé, ce qui implique que plusieurs caractères sont corrects.
la source
Python 3, 74 octets
Juste un peu plus court que la réponse de Destructible Lemon
la source
Perl, 52 octets
ou 54 octets:
ou Perl 5.14+, 48 octets:
la source
Gelée , 17 octets (non concurrent)
Essayez-le en ligne!
Utilise
01
. À cause d'un bogue⁾
, j'ai dû utiliser“¶¶
au lieu de⁾¶¶
, car sinon, au lieu de deux nouvelles lignes, deux pilcrows se seraient présentés dans la sortie. Comme vous pouvez le voir, cela ne m'a pas coûté d'octets du tout.K bat cela, donc cela doit être approfondi.
la source
05AB1E , 15 octets (non concurrents)
Essayez-le en ligne!
la source
J , 27 octets
Essayez-le en ligne!
la source
echo _3]\"1#:i.512
.Tcl , 72 octets
Essayez-le en ligne!
la source
Python 2 , 114 octets
Essayez-le en ligne!
la source