Dados dos enteros, genera los dos enteros y luego el rango entre ellos (excluyendo ambos).
El orden del rango debe ser el mismo que el de la entrada.
Ejemplos:
Input Output
0, 5 -> [0, 5, 1, 2, 3, 4]
-3, 8 -> [-3, 8, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7]
4, 4 -> [4, 4]
4, 5 -> [4, 5]
8, 2 -> [8, 2, 7, 6, 5, 4, 3]
-2, -7 -> [-2, -7, -3, -4, -5, -6]

Respuestas:
R ,
393330 bytesPruébalo en línea!
Gracias por los bytes guardados para user2390246 y J.Doe.
fuente
:operador usa el primer elemento de ambos argumentos para 30 bytes05AB1E , 4 bytes
Pruébalo en línea!
Explicación
fuente
Python 3 ,
5248474241 bytesPruébalo en línea!
Implementaciones anteriores combinadas.
fuente
or-1para guardar un byte.Python 2 (Cython) ,
3635 bytes¡Gracias a @nwellnhof por jugar golf en 1 byte!
Pruébalo en línea!
Python 2 , 37 bytes
¡Gracias a @JonasAusevicius por el puerto a CPython!
Pruébalo en línea!
fuente
lambda x:x+range(*x+[-cmp(*x)|1])[1:]. Buena soluciónPerl 6 ,
2622 bytesPruébalo en línea!
Explicación
fuente
Python 2 , 40 bytes
Pruébalo en línea!
fuente
-(y<x)|1. muy bueno pero no puedo entender por qué funciona! ¿Alguna posibilidad de que puedas explicarlo?y<xcomprueba siyes estrictamente menor quex, y devuelveTruesi es así, de loFalsecontrario. Después de eso, unarios-se aplica a ella, que convierteTruea-1yFalsea0. El último paso es bit a bit O este número con1. Esto obviamente deja1(0b1) sin afectar, y también deja-1(-0b1) sin afectar (el bit de signo de-1se establece, por lo que se mantiene como tal). Sin embargo, se convierte0a1, por lo querangeno se queja de que yo use unstepde0.Python 3,
646251 byteslambda a,b:[a,b]+[*range(a+1,b)]+[*range(a-1,b,-1)]Pruébalo en línea!
Python 2,
5845 byteslambda a,b:[a,b]+range(a+1,b)+range(a-1,b,-1)Pruébalo en línea!
fuente
a<=b andde ambas respuestas+lugar deorlambda a,b:[a,b,*range(a+1,b),*range(a-1,b,-1)]Japt, 8 bytes
Pruébalo aquí
fuente
JavaScript (ES6), 51 bytes
Toma entrada como
(a)(b).Pruébalo en línea!
Comentado
fuente
Python 2 ,
474140 bytesPruébalo en línea!
Aquí está la mía, ahora que se han publicado muchas otras respuestas de Python
-6 bytes, gracias a GB
fuente
a<b or-1es más corto para el tercer parámetro del rango. Lo más corto que obtuve fuelambda x,y:[x,y]+range(x+(x<y or-1),y,x<y or-1)Java 10,
1091081041029362 bytesUsando una cadena delimitada por espacios:
Pruébalo en línea.
Usando una lista:
Pruébalo en línea.
(
a<b?++a<b:--a>bpuede ser++a<b||(a-=2)>bpara el mismo conteo de bytes: Pruébelo en línea para la Cadena o Pruébelo en línea para la Lista ).Respuesta anterior (
109108104102101 bytes) usando una matriz:-7 bytes gracias a @nwellnhof .
Pruébalo en línea.
Explicación:
fuente
a->b->{var L=java.util.stream.IntStream.range(a,b).boxed().collect(java.util.Collectors.toList());L.add(0,b);L.add(0,a);return L;}(130 bytes)var, por lo que generalmente pongo esos en 8, y los que sí usanvarcomo 10 (y los que usanString.repeatcomo 11). :) Olvidé actualizarlo después de agregar las respuestas de Lista y Cadena, debería corregirse ahora. Gracias.APL (Dyalog Extended) , 5 bytes
Función de infijo anónimo.
Pruébalo en línea!
,el primero y el último (literalmente, la concatenación de los argumentos),y (lit. concatenado a)…el rango~sin,el primero y el último (literalmente, la concatenación de los argumentos)fuente
Haskell, 34 bytes
Pruébalo en línea!
fuente
b-1comob $ (-1). Usar en sub- 1lugar.NegativeLiteralsen.Jalea , 4 bytes
Pruébalo en línea!
Cómo funciona
fuente
J 26 bytes
Pruébalo en línea!
Explicación:
Un verbo diádico (toma argumento izquierdo y derecho)
fuente
,,[:}.@}:<.+i.@-@(+*)@-para 23 bytes y sin carcasa especial en el orden relativo de argumentos (más bien: está oculto dentro del signum*). Siento que esto podría bajar a menos de 20 pero estoy cansado.Octava , 45 bytes
Pruébalo en línea!
fuente
J , 13 bytes
Pruébalo en línea!
fuente
i.con un argumento negativo.Lote, 107 bytes
Toma datos como argumentos de línea de comandos. Explicación:
Salida de los dos enteros.
Pruebe los rangos ascendentes y descendentes.
Recorrer el rango inclusivo.
Excluir los dos enteros.
Salida del valor actual.
fuente
Pyth , 5 bytes
Entrada es una lista de dos elementos,
[input 1, input 2]. Pruébelo en línea aquí , o verifique todos los casos de prueba a la vez aquí .fuente
Flugar de.*en listas de 2 elementos es un truco brillante que absolutamente usaré de ahora en adelante.Rojo , 75 bytes
Pruébalo en línea!
fuente
Limpio , 49 bytes
Pruébalo en línea!
fuente
Ruby ,
3340 bytesPruébalo en línea!
Solución temporal, tratando de encontrar una mejor idea.
fuente
[4,4]esto da solo uno[4]Python 2 ,
524741 bytesPruébalo en línea!
-5 gracias a @JoKing
-6 cortando el primer elemento del rango (idea robada y con crédito a @TFeld)
Versión no lambda ...
Python 2 ,
514947 bytesPruébalo en línea!
-2 con agradecimiento a @JoKing
fuente
APL (Dyalog Classic) , 29 bytes
Pruébalo en línea!
Un puerto de mi
Jsoluciónfuente
PHP (102 bytes)
Salvadera
Desafortunadamente (para el golf) PHP tiene nombres de funciones bastante detallados, que contribuyen mucho a la longitud. Pero la idea básica es crear un rango, luego quitar el último elemento y volver a unirlo en el desplazamiento 1. Por
4,4ejemplo, tuve que agregarcount($r=range($a,$b))>1?...:$r=[$a,$b];que agrega bastante, y desafortunadamentearray_splice()es por referencia que me golpeó por unos cuantos más bytes ($r= and a ;). Todo por ese "caso de borde", jajaja.Bueno, de todos modos disfruta!
fuente
function t($a,$b){$o=array($a,$b);for($i=$a+1;$i<$b;$i++)$o[]=$i;print_r($o);}function t($a,$b){echo $a.$b;for($i=$a+1;$i<$b;$i++)echo $i};Clojure , 61 bytes
Una función anónima que toma un 2-vector como entrada y devuelve una lista.
Pruébalo en línea!
Explicación
fuente
D , 85 bytes
Pruébalo en línea!
Un puerto de la respuesta C ++ de @ HatsuPointerKun en D.
fuente
TI-BASIC,
3534 bytes-1 byte de Misha Lavrov
fuente
1-2(A>Bconcos(π(A>B.seq(no funcionaría para entradas dondeAyBson iguales, desafortunadamente :(seq(, por lo que ya no estoy convencido de que incluso sea más pequeño. Aún así, elcos(truco debería ayudar.Carbón de leña , 15 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. Explicación:
Imprima las entradas en líneas separadas.
Imprima el rango ascendente, si lo hay.
Imprima el rango inverso ascendente inverso, si lo hay.
fuente
Dart ,
8584 bytesPruébalo en línea!
>=a>fuente