O desafio
O programa deve retornar todos os números incluídos em um grupo (sequência separada por vírgula e hífen).
Regras
s
é a sequência de caracteres;- todos os números incluídos
s
são positivos ; - números sempre aumentam ;
- números nunca se repetem
- ao responder, mostre a saída para
s="1,3-5,9,16,18-23"
Exemplos
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
Boa sorte. =)
4-9,1-2
ou1-3,9-6
?Respostas:
GolfScript (24 caracteres)
Por exemplo
Na verdade, tenho quatro soluções de 24 caracteres, mas escolhi essa porque não possui caracteres alfanuméricos.
Como funciona
fonte
-
?Perl
252625$_
é a sequência de seqüênciasSessão de amostra:
Adicionado 1 caractere à contagem de caracteres para a opção (obrigado Gareth, ... meio).
-n
-p
fonte
n
opção.-M5.010
e troque-e
por-E
golfscript,
4645Meu primeiro programa de roteiro de golfe, levou horas para ser concluído.
Você pode experimentá-lo em http://golfscript.apphb.com/
Meu melhor lance para explicar essa atrocidade:
edit 1: alterei o último {}% ~ para {} /, também minha descrição provavelmente estava errada.
fonte
{
e o final}:r;
e também pode salvar um substituindo1-
por(
. (Aliás, IIRC que é um truque que eu também perdeu no meu primeiro programa GolfScript){...}%~
e{...}/
. Se você estiver acessando algo mais abaixo na pilha usandointeger $
, o primeiro será mais simples, porque você não precisa ajustar o número inteiro toda vez para compensar o que estiver deixando na pilha.R , 44 bytes
Experimente online!
Redefina
-
para significarseq
(ie:
), envolva a entradac()
e avalie a expressão correspondente.fonte
K, 47
Caso de teste
fonte
","/:$,/{{x+!1+y-x}. 2#"J"$"-"\:x}'","\:0:0
para 43 bytesGeléia , 9 bytes
Experimente online!
A díade de intervalo
r
aceita dois argumentos em ambos os lados e produz um intervalo inclusivo entre eles.fonte
J,
5343413938 caracteresRecebe entrada do teclado:
Saída para o caso de teste solicitado:
fonte
Hássio , 173 bytes
Isso foi bastante longo e pode não estar competindo, já que há um final no final.
Execute on-line e veja expandido aqui
fonte
Perl (37)
fonte
s="1,3-5,9,16,18-23"
, graçassay join",",eval<>=~s/-/../gr
em 29 bytesPython 2.7,
147138 bytesUso:
Não é o melhor programa ...
fonte
MATLAB, 47 bytes
Esse trecho lê uma entrada de seqüência de caracteres na janela de comando, substitui '-' por ':', adiciona colchetes à seqüência de caracteres e a avalia, para que a entrada seja expandida para uma matriz completa de números.
Exemplo de entrada:
Exemplo de saída:
Acredito que essa saída seja permitida, pois o desafio apenas diz que todos os números em um grupo devem ser exibidos.
fonte
Perl 6 , 36 bytes
fonte
PowerShell,
7971 bytesExperimente online!
A parte interna altera "1,5-9,12" para um formato "(1), (5..9), (12)" que o PowerShell entende e, em seguida, executa isso com o iex, que cria uma matriz de matrizes. Em seguida, percorra cada matriz interna e, finalmente, junte todos os elementos da matriz externa
Empresta código da minha resposta "Ajude-me a gerenciar meu tempo"
Uso
-8 bytes graças a Veskah
fonte
K (oK) ,
4031 bytesSolução
Experimente online!
Explicação:
Controlou mais golfe enquanto adicionava a explicação ...
fonte
Clojure, 110 bytes
Lidar com cordas não é muito divertido :(
fonte
Python 2 , 112 bytes
Resposta bastante simples e direta.
Experimente online!
fonte
Ruby
-p
, 33 bytesExperimente online!
fonte
Japonês , 12 bytes
Tente
fonte
c@
com£
?£
no lugar dos 5 primeiros bytes.Python 2 , 90 bytes
Experimente online!
fonte