Le défi
Le programme doit renvoyer tous les nombres inclus dans un groupe (séquence séparée par des virgules et des tirets) de nombres.
Règles
s
est la chaîne de séquence;- tous les nombres inclus dans
s
sont positifs ; - les nombres augmenteront toujours ;
- les chiffres ne se répéteront jamais
- lorsque vous répondez, affichez la sortie de
s="1,3-5,9,16,18-23"
Exemples
input(s) outputs
-----------------
1 1
1,2 1,2
1-4 1,2,3,4
1-4,6 1,2,3,4,6
1-4,8-11 1,2,3,4,8,9,10,11
Bonne chance. =)
4-9,1-2
ou1-3,9-6
?Réponses:
GolfScript (24 caractères)
Par exemple
J'ai en fait quatre solutions de 24 caractères, mais j'ai choisi celle-ci car elle n'a pas de caractères alphanumériques.
Comment ça fonctionne
la source
-
?Perl
252625$_
est la chaîne de séquenceExemple de session:
Ajout d'un caractère au nombre de caractères pour l' option (merci Gareth, ..kinda).
-n
-p
la source
n
option.-M5.010
et échanger-e
pour-E
golfscript,
4645Mon tout premier programme de script de golf a pris des heures.
Vous pouvez l'essayer sur http://golfscript.apphb.com/
Mon meilleur coup pour expliquer cette atrocité:
modifier 1: changé le dernier {}% ~ en {} /, ma description était également probablement fausse.
la source
{
et la finale}:r;
et vous pouvez également en enregistrer une en la remplaçant1-
par(
. (Soit dit en passant, l'IIRC est une astuce que j'ai également ratée dans mon premier programme GolfScript){...}%~
et{...}/
. Si vous accédez à quelque chose plus bas dans la pile en utilisantinteger $
la première, c'est plus simple, car vous n'avez pas à ajuster l'entier à chaque fois pour compenser tout ce que vous laissez sur la pile.R , 44 octets
Essayez-le en ligne!
Redéfinissez
-
pour signifierseq
(c.-à-d.:
), Entourez l'entréec()
et évaluez l'expression correspondante.la source
K, 47
Cas de test
la source
","/:$,/{{x+!1+y-x}. 2#"J"$"-"\:x}'","\:0:0
pour 43 octetsGelée , 9 octets
Essayez-le en ligne!
La dyade de plage
r
prend deux arguments de chaque côté et produit une plage inclusive entre eux.la source
J,
5343413938 caractèresPrend l'entrée du clavier:
Sortie pour le cas de test demandé:
la source
Hassium , 173 octets
Ce fut assez long et peut-être pas en compétition car il y a une fuite, à la fin.
Exécuter en ligne et voir développé ici
la source
Perl (37)
la source
s="1,3-5,9,16,18-23"
, mercisay join",",eval<>=~s/-/../gr
de 29 octetsPython 2.7,
147138 octetsUsage:
Pas le meilleur programme ...
la source
MATLAB, 47 octets
Cet extrait de code lit une entrée de chaîne à partir de la fenêtre de commande, remplace '-' par ':', ajoute des crochets à la chaîne, puis l'évalue, de sorte que l'entrée sera étendue à un tableau complet de nombres.
Exemple d'entrée:
Exemple de sortie:
Je crois que cette sortie est autorisée, car le défi dit seulement que tous les numéros d'un groupe doivent être affichés.
la source
Perl 6 , 36 octets
la source
PowerShell,
7971 octetsEssayez-le en ligne!
La partie interne change "1,5-9,12" en un format "(1), (5..9), (12)" que PowerShell comprend, puis l'exécute avec iex, ce qui crée un tableau de tableaux. Ensuite, parcourez chaque tableau interne, puis enfin réunissez tous les éléments du tableau externe ensemble
Code d'emprunt de ma réponse «Aidez-moi à gérer mon temps»
Usage
-8 octets grâce à Veskah
la source
K (oK) ,
4031 octetsSolution
Essayez-le en ligne!
Explication:
Géré plus de golf tout en ajoutant l'explication ...
la source
Clojure, 110 octets
Gérer les chaînes n'est pas très amusant :(
la source
Python 2 , 112 octets
Réponse assez simple et directe.
Essayez-le en ligne!
la source
Rubis
-p
, 33 octetsEssayez-le en ligne!
la source
Japt , 12 octets
Essayez-le
la source
c@
par£
?£
à la place des 5 premiers octets.Python 2 , 90 octets
Essayez-le en ligne!
la source