Problème
N'ayant aucune entrée, écrivez un programme ou une fonction qui génère ou retourne la chaîne suivante:
(<(<>(<>.(<>.<(<>.<>(<>.<>)<>.<>)>.<>).<>)<>)>)
Règles
- Le programme le plus court gagne.
- Les espaces de fuite sont autorisés.
- Les retours à la ligne sont autorisés.
- Paramètres non utilisés pour les fonctions autorisées.
code-golf
ascii-art
kolmogorov-complexity
LiefdeWen
la source
la source
(<>.<>)
:"(<" + "(<>" + "(<>." + ... + "(<>.<>)" + "<>.<>)" + ">.<>)" + ... + ">)"
Réponses:
SOGL V0.12 , 12 octets
Explication:
Essayez-le ici!
la source
05AB1E , 16 octets
Essayez-le en ligne!
Explication
la source
Python 3 , 49 octets
Essayez-le en ligne!
la source
JS (Jsfuck), 10 614 octets
Je n'avais pas accès au site web, je devais trouver tout cela manuellement.-
Explication:
La plupart des caractères sont relativement faciles: Pour les crochets im exécution
Le point final est obtenu en faisant en sorte que js crée un numéro de notation scientifique comme 1.1e + 21 et en prenant le caractère de point après la conversion en chaîne.
Les crochets sont plus durs, nous devons exécuter la fonction pour créer une chaîne d’objet html en italique et voler les crochets. L'astuce principale consiste à obtenir le "c" pour le mot italique, ce qui nécessite de créer une autre fonction pour extraire le c de "fonction".
Il y a beaucoup de possibilités d'amélioration ici, principalement en ce qui concerne les fonctions utilisées pour obtenir les crochets. Je me souviens également d’un moyen plus simple d’obtenir le caractère 'c' si l’italique est préférable, mais je devrais consulter mes anciens fichiers pour le trouver.
la source
C # (Mono) ,
5452 octetsEssayez-le en ligne!
-2 octets grâce à Kevin Cruijssen
RIP C #
la source
;
ne compte pas pour les réponses lambda. Et()
peut être remplacé par un seul caractère (null
objet non utilisé ). Meta post pertinent pour le second.s=>
tout va bien.Rétine , 30 octets
Essayez-le en ligne!
la source
V ,
28272522 octets3? 4? octets grâce à @KritixiLithos
Essayez-le en ligne!
la source
hx
par justeX
.dkHxògJ
est 1 octet plus court quedkVHgJ0x
.Íî
truc de DJ fonctionne aussii(<>.<>)òÙxlHÄ$xGòddÍî
pour 23lX
pourxl
aussi: DR , 42 octets
Programme assez simple qui tire parti du fonctionnement de la sous-chaîne dans R. Produit donc
substring('(<>.<>)',-4:6,2:12)
le vecteur suivantcat
avec un séparateur vide le renvoie dans STDOUT au format requis.Essayez-le en ligne!
la source
Charbon de bois,
1817 octetsEssayez-le en ligne! Le lien est vers la version verbeuse du code.
Utilise le nouvel opérateur Slice.la source
TrumpScript, 70 octets
Je sais, c'est une solution ennuyeuse.
la source
Brachylog , 14 octets
Essayez-le en ligne!
la source
ᶠ
enᵘ
.C (gcc) ,
5957 octets24 octets de moins qu'uneputs()
solution simple . Il y a sûrement une solution récursive élégante, mais jusqu'ici, les frais généraux deviennent trop importants à chaque tentative.Essayez-le en ligne!
la source
Brainfuck,
198175167 OctetsJe n'ai jamais fait de code-golf, alors c'est mon premier. Les commentaires sont très appréciés.
Essayez-le en ligne!
Je suis allé pour la solution la plus évidente à mon avis. Tout d’abord, je mets les cellules 1 à 5 sur l’une des lettres "(). <>". Ensuite, je vais dans les bonnes cellules et affiche le caractère.
UPDATE: J'ai changé l'ordre dans lequel les caractères apparaissent sur la "bande", ce qui raccourcit le programme et le rend plus efficace.
UPDATE 2: Je viens de relire mon message après un certain temps et je me suis rendu compte qu'en utilisant une séquence plus courte pour configurer les cellules, je pouvais économiser quelques octets.
la source
JavaScript, 47 octets
Utilise la même méthode que la réponse Python de Rod .
la source
Mathematica 41 octets
la source
Charbon de bois , 20 octets
Essayez-le en ligne!
Merci à Destructible Lemon pour avoir remarqué un motif (-4).
AST:
Qu'est
‖B
- ce que c'est fondamentalement visuellement palindromize toilela source
-a
.Print
s dedans, je ne sais pas ce que vous voulez dire.C (gcc) , 61 octets
Je sais que c'est nul, mais c'est beaucoup plus court que mon autre solution ...
C (gcc) , 103 octets
Voici une version où j'essaie d'être un peu délicate ...
C (gcc) ,
117115 octetsUne version récursive totalement délicate ...
Essayez-le en ligne!
la source
Une foule de regards vides regardant Batman en l'honneur d'Adam West ...
C # (.NET Core) , 393 octets
Essayez-le en ligne!
la source
q , 29 octets
raze"(<>.<>)"{(y-5)_x}/:(!)11
-2 octets grâce au streetster
EDIT pour l'explication:
La langue est interprétée de droite à gauche.
Comment ça marche
la source
_x
pour 1 octet, et le changementtil 11
de(!)11
pendant 1 octet = 2 octets économie enregistrée :)Haskell ,
55 à45 octetsEssayez-le en ligne!
Première réponse de Haskell pour battre la solution codée en dur!
Explication
Cette réponse fonctionne en construisant une liste de fonctions à appliquer à la chaîne
(<>.<>)
. Nous construisons d’abord la gauche et le centre avecce qui nous donne tous les préfixes de la taille deux à sept. Puis on construit le droit avec
ce qui nous donne tous les suffixes de la taille six à deux.
Une fois que nous avons la liste des fonctions, nous utilisons un bind (
>>=
) monadique qui est justeconcatMap
mais plus court. La fonction avec($"(<>.<>)")
laquelle nous concatmapons applique l’entrée à la chaîne(<>.<>)
.Cela rend la chaîne.
la source
Gelée , 22 octets
1 octet grâce à Kritixi Lithos.
Essayez-le en ligne!
la source
µ
Java 8, 52 octets
C'est ennuyeux, mais il n'y a aucun moyen de raccourcir cela en Java. Initialiser une chaîne temporaire, c'est déjà 11 octets .. (
String t="something";
), et utilisersubstring
plusieurs fois coûte certainement trop d'octets.L'alternative la plus courte à un retour littéral est probablement la suivante (58 octets):
Essayez ici.
la source
=>
) si vous souhaitez l’ajouter.Python 2, 57 octets
Je dis que cela ressemble à une bande de hiboux qui se cachent derrière leur chef. Je dis juste.
la source
MATL , 28 octets
Essayez-le en ligne!
la source
brainfuck ,
245210 octetsGolf en cours.
Essayez-le en ligne!
la source
Haskell, 95 octets
C'est beaucoup plus long que les 49 octets nécessaires pour un littéral de chaîne avec la sortie, mais le mieux que j'ai pu faire pour utiliser la structure . Comme d'habitude, j'adore les flèches et
inits &&& tails
produit un tuple de la liste des sous-chaînes principales et de la liste des sous-chaînes de fin de l'entrée. Ensuite, ces deux tuples sont rassemblés dans une liste en passant le tuple à++
, et cette liste estconcat
définie en une grande chaîne. Les appelstail
etinit
évitent de dupliquer le(<>.<>)
dans le milieu (l'un généré parinits
, l'autre avectails
) et suppriment les parenthèses indésirables du début et de la fin, en ne prenant en compte que des sous-chaînes de longueur 2 ou plus.la source
Gelée , 18 octets
Essayez-le en ligne!
Comment ça marche
la source
C (clang) ,
6261 octetsCela ne se termine qu'après expiration du délai d'attente sur TIO car l'écriture sur l' entrée standard a échoué, mais se terminera par un terminal. Le programme repose sur un ordre d'évaluation spécifique (comportement non défini) et ne fonctionnera pas avec, par exemple, gcc.
Merci à @Steadybox pour cette idée qui a sauvé un octet!
Essayez-le en ligne!
Vérification
Version alternative, 62 octets
Au prix d'un octet de plus, la solution devient beaucoup plus portable.
Essayez-le en ligne!
la source
(<
manque ici.Python 2 , 55 octets
ne pouvait pas résister à battre la réponse actuelle de python 2
Essayez-le en ligne!
la source
Gelée , 19 octets
Essayez-le en ligne!
la source