En fait, il n'est inspiré ni par Atbash Self Palindromes ni par Generalized Gematria Calculator .
Étant donné une chaîne s de longueur n , affichez la séquence Revu'a , qui est le premier caractère de s , les deux premiers caractères de s , ... les premiers n –2 caractères de s , les premiers n –1 caractères de s , l'ensemble de l' art .
La chaîne sera uniquement composée de caractères Unicode (tout encodage que vous souhaitez) qui ont une forte directivité et se trouvent dans la plage 0x0000 à 0xFFFF. Cependant, aucun caractère de contrôle de directionnalité ne se produira. Tous les caractères d'une chaîne donnée auront la même directionnalité.
Vous pouvez retourner en notation de tableau ["t","te","tes","test"]
, sous forme de chaîne séparée par des espaces "t te tes test"
, sous forme de texte sur plusieurs lignes t
te
tes
test
, un tableau pré-formaté
t te tes testerou quelque chose de similaire. Les quantités d'espacement de début, de séparation et de fin n'ont pas d'importance, pas plus que la nouvelle ligne de fin. Demandez en cas de doute.
L'entrée de droite à gauche doit entraîner une sortie de droite à gauche dans le bon ordre:
Entrée: "נחמן"
Sortie: "נ נח נחמ נחמן"
ou
נ נח נחמ נחמן, ou
["נ","נח","נחמ","נחמן"]
. Parmi les résultats non valides sont "נחמן נחמ נח נ"
, "ן מן חמן נחמן"
et "נחמן חמן מן ן"
.
JavaScript (ES6),
272625 octetsUn octet enregistré grâce à @nicael et @ MartinBüttner, un grâce à @Neil
Profite de certaines fonctionnalités intégrées de la fonction de JS
.replace
. Plus précisément, dans le remplacement,$`
devient tout ce qui précède le caractère correspondant. Utiliser l'expression régulière/.?/g
plutôt que/./g
signifie qu'il correspond également à la chaîne vide à la fin.la source
f=x=>x.replace(/.?/g,"$
")`. Vous obtenez un espace de tête supplémentaire mais c'est autorisé.Japt,
104 octetsJe ne savais pas qu'une réduction cumulative serait si utile dans ce cas. :-)
Sorties sous forme de tableau, séparées par des virgules par défaut. Si cela n'est pas autorisé, utilisez plutôt ce code à 6 octets:
Essayez-le en ligne!
Comment ça fonctionne
la source
Brainfuck, 40 octets
Ma console ne prend pas en charge les caractères de droite à gauche, mais je ne pense pas que cela fonctionnera: c
Non golfé:
la source
Rétine,
117 octetsLa sortie est séparée par des espaces, avec un espace de début et un saut de ligne de fin.
Essayez-le en ligne!
la source
perl -pE 's/./$
$ & \ n / g'`. (J'ai 11 mois de retard, je sais)Python, 35
Impossible de trouver un moyen d'utiliser
and/or
pour simplifier la récursivité car[]
c'est une fausse.Solution récursive, retourne une liste de chaînes.
Essayez-le en ligne
la source
Prolog (SWI),
6049 octetsCode:
Expliqué:
atom_prefix avec X réglé sur input et S comme variable donne 1 préfixe de l'atome X commençant par l'atome vide.
findall obtient toutes les solutions et les met dans une liste.
[_ | R] jette la tête (l'atome vide) et stocke la queue dans R
Exemples:
Essayez-le en ligne ici
Edit: enregistré seulement 11 octets par le stockage de la queue dans R .
la source
Pyth, 3
Le préfixe intégré fait l'affaire.
Suite de tests
la source
GNU Sed, 21 ans
Le score inclut +1 pour l'
-E
option de séduction:Fonctionne pour LTR, mais pas RTL - j'ai raté ce bit.. En fait , il fait le travail, le RTL était tout simplement pas le rendu correctement dans mon terminal. Cela fonctionne très bien avec IO vu dans un éditeur de texte sensible (par exemple emacs). Il fonctionne également dans Ideone:Essayez-le en ligne.
la source
Brachylog , 5 octets (non concurrent)
Essayez-le en ligne!
Explication
Les chaînes de droite à gauche semblent fonctionner correctement, même si je ne les ai même pas considérées.
la source
@[
et@w
ont été implémentés nécessairement après avril / mai 2016. On pourrait trouver la date exacte sur les commits Github mais ce n'est sûrement pas avant que ce défi ne soit soumis.CJam, 9 octets
La sortie est séparée par un saut de ligne.
Testez-le ici.
Explication
la source
Ll{+_p}/;
est de la même longueur, car je ne sais pas si quelqu'un avec plus d'expérience pourrait jouer au golf plus, et peut-être aussi corriger la chose des citations: PJavaScript, 36 octets
Démo:
Le principe est de mapper et de sortir la tranche de chaîne du premier caractère à chaque caractère du mot. Étonnamment, cela fonctionne également parfaitement pour les chaînes RTL, aucune optimisation n'est nécessaire.
la source
Ma console ne prend pas en charge les caractères de droite à gauche, mais je ne pense pas que cela fonctionnera: c
C, 74 octets (2e entrée)
Non golfé:
la source
Ma console ne prend pas en charge les caractères de droite à gauche, mais je ne pense pas que cela fonctionnera: c
C, 105 octets (3ème entrée)
Non golfé:
la source
TI-BASIC, 18 octets
Non valide sur le plan technique: TI-BASIC ne prend pas en charge Unicode.
Nommez ceci
prgmA
et saisissez en utilisantAns
.La récursivité du programme serait plus courte, mais il n'y aurait aucun moyen d'initialiser les variables. Par conséquent, nous affichons une sous-chaîne de l'entrée à chaque itération. L'entrée n'est jamais écrasée, car Disp ne renvoie pas de valeur.
Finalement, le programme se termine avec une erreur après avoir imprimé la chaîne entière.
la source
Python, 54 octets
la source
Java 7,
9592 octetsRéponse précédente ( 95 octets ):
J'ai essayé une approche récursive, mais je n'ai pas vraiment réussi à la faire fonctionner. Peut-être que quelqu'un d'autre le fera (plus court que cette boucle for).
Cas non testés et testés:
Essayez-le ici.
Production:
la source
Dip , 1 octet (non concurrent)
Explication:
la source
MATL , 8 octets
Utilise la version actuelle (8.0.0) du langage / compilateur
Exemple
Explication
la source
Mathematica, 29 octets
TODO: explication
la source
𝔼𝕊𝕄𝕚𝕟, 7 caractères / 16 octets
Try it here (Firefox only).
Il y a probablement une fonction intégrée quelque part - je ne l'ai tout simplement pas trouvée.
Explication
la source
Javascript ES6, 29 octets
Cela ne gagne rien, mais c'est une solution simple.
la source
Pyth, 11 octets
Essaye le
Explication
la source
Python, 32 octets
Fonction récursive qui génère une chaîne séparée par des espaces avec un espace de début.
Un programme de 34 octets (Python 2):
la source
V , 5 octets (non concurrent)
Essayez-le en ligne!
Cette langue est plus récente que le défi, ce qui rend cette réponse non compétitive. Explication:
la source
PowerShell v2 +, 28 octets
Prend des entrées
$args[0]
, leschar
transforme en tableau, redirige les personnages en boucle|%{...}
. À chaque itération, nous nous accumulons$o
via+=
le personnage actuel$_
. Cette expression est encapsulée dans des parens donc une copie est placée sur le pipeline. En fin d'exécution, le pipeline est vidé viaWrite-Output
ce qui met une nouvelle ligne entre les éléments.la source
PHP, 59 octets
Version en ligne
la source
Indésirable, inutile, opportuniste , 9 octets
la source