Étant donné une chaîne non vide, continuez de supprimer les premier et dernier caractères jusqu'à ce que vous obteniez un ou deux caractères.
Par exemple, si la chaîne était abcde
, votre programme devrait afficher:
abcde
bcd
c
Si tel était le cas abcdef
, il devrait s'arrêter à deux caractères:
abcdef
bcde
cd
Les sauts de ligne et les espaces de fin à la fin de chaque ligne sont facultatifs. Vous pouvez en avoir autant que vous le souhaitez ou pas du tout.
Cas de test
ABCDEFGHIJKLMNOPQRSTUVWXYZ -> ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXY
CDEFGHIJKLMNOPQRSTUVWX
DEFGHIJKLMNOPQRSTUVW
EFGHIJKLMNOPQRSTUV
FGHIJKLMNOPQRSTU
GHIJKLMNOPQRST
HIJKLMNOPQRS
IJKLMNOPQR
JKLMNOPQ
KLMNOP
LMNO
MN
ABCDEFGHIJKLMNOPQRSTUVWXYZ! -> ABCDEFGHIJKLMNOPQRSTUVWXYZ!
BCDEFGHIJKLMNOPQRSTUVWXYZ
CDEFGHIJKLMNOPQRSTUVWXY
DEFGHIJKLMNOPQRSTUVWX
EFGHIJKLMNOPQRSTUVW
FGHIJKLMNOPQRSTUV
GHIJKLMNOPQRSTU
HIJKLMNOPQRST
IJKLMNOPQRS
JKLMNOPQR
KLMNOPQ
LMNOP
MNO
N
A -> A
AB -> AB
N'oubliez pas qu'il s'agit de code-golf , donc le code avec le plus petit nombre d'octets l'emporte.
Réponses:
V , 10 octets
Essayez-le en ligne!
Explication:
la source
Python, 45 octets
Génère récursivement la chaîne, plus une nouvelle ligne, plus les espaces de tête pour la ligne suivante, plus le résultat récursif de la chaîne raccourcie avec un espace supplémentaire dans le préfixe.
Si une nouvelle ligne de tête était autorisée, nous pourrions enregistrer un octet:
Comparer avec un programme (49 octets en Python 2):
la source
ES6 (Javascript),
47,48, 43 octetsEDIT: Opérateur ternaire remplacé par &&, chaîne de remplissage préfixée par la nouvelle ligne. Merci @Neil pour un excellent conseil!
EDIT: inclus le nom de la fonction pour l'invocation récursive, supprimé un octet en utilisant une nouvelle ligne littérale
Golfé
Tester
la source
p
égal à une nouvelle ligne et un espace; peut-être que cela pourrait aussi vous aider.s&&
au lieu des?...:''
.Python 2, 50 octets
Fonction récursive simple qui continue de raccourcir la chaîne jusqu'à ce qu'elle disparaisse.
Appeler comme f ('chaîne')
Production
la source
Perl, 31 octets
30 octets de code +
-p
indicateur.Pour l'exécuter:
Explications : le
\S
et.$
correspond au premier et au dernier caractère,(.+)
au milieu et( *)
aux espaces de fin qui sont ajoutés chaque fois que nous supprimons un caractère du début. Ainsi, l'expression régulière supprime un caractère du début, un de la fin et ajoute un espace de tête à chaque fois.la source
Brainfuck , 67 octets
Cela devrait fonctionner sur toutes les saveurs de cerveau.
Essayez-le en ligne!
Code non golfé:
Il devrait encore y avoir quelques octets à couper ici; Je n'ai commencé à utiliser brainfuck que récemment, donc mon mouvement de pointeur est probablement très inefficace.
la source
MATL , 9 octets
Cela produit des espaces de fin et des nouvelles lignes.
Essayez-le en ligne!
Explication
la source
Lot, 92 octets
Prend entrée sur STDIN.
la source
C, 73 octets
Non golfé:
Usage:
la source
05AB1E , 8 octets
Code:
Explication:
Utilise l' encodage CP-1252 . Essayez-le en ligne!
la source
Pyke, 10 octets
Essayez-le ici!
la source
Haskell,
4743 octetsEssayez-le sur Ideone . La sortie est une liste de chaînes autorisée dans les commentaires du défi. Pour imprimer, exécutez avec
(putStr.unlines.f)
au lieu de justef
.Modifier: enregistré 4 octets après avoir remarqué que les espaces de fin sont autorisés.
la source
Perl 6 , 42 octets
Étendu:
la source
GNU sed 24 octets
Comprend +2 pour
-rn
Imprime, remplace le premier caractère non espace par un espace et supprime le dernier caractère jusqu'à ce que rien ne change.
la source
Rétine , 17 octets
Essayez-le en ligne!
la source
C ++ 14, 117 octets
Suppose que l'entrée
s
est unstd::string
et renvoie le texte animé.Non golfé:
Usage:
la source
Vim - 14 frappes
Explication:
Vim tue automatiquement la macro une fois que nous n'avons plus de caractères
la source
Casser! - 16 blocs
La sortie est auto-centrée. L'attente est pour les humains.
la source
PHP, 91 octets
Utilisation: enregistrez dans un fichier et appelez depuis le navigateur:
la source
Mathematica, 71 octets
la source