Su tarea es, dados dos enteros positivos, y , devolver los primeros números en la secuencia de rangos incrementales.
La secuencia de rango incremental primero genera un rango de uno a inclusive. Por ejemplo, si fuera , generaría la lista . Luego agrega repetidamente los últimos valores incrementados en a la lista existente, y continúa.
Una entrada de por ejemplo:
n=3
1. Get range 1 to n. List: [1,2,3]
2. Get the last n values of the list. List: [1,2,3]. Last n=3 values: [1,2,3].
3. Increment the last n values by 1. List: [1,2,3]. Last n values: [2,3,4].
4. Append the last n values incremented to the list. List: [1,2,3,2,3,4]
5. Repeat steps 2-5. 2nd time repeat shown below.
2nd repeat:
2. Get the last n values of the list. List: [1,2,3,2,3,4]. Last n=3 values: [2,3,4]
3. Increment the last n values by 1. List: [1,2,3,2,3,4]. Last n values: [3,4,5].
4. Append the last n values incremented to the list. List: [1,2,3,2,3,4,3,4,5]
Casos de prueba:
n, x, Output
1, 49, [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]
2, 100, [1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51]
3, 13, [1,2,3,2,3,4,3,4,5,4,5,6,5]

/con//Jalea , 4 bytes
Un enlace diádico que acepta dos enteros positivos,
xa la izquierda yna la derecha, lo que produce una lista de enteros positivos.Pruébalo en línea!
¿Cómo?
fuente
p...R , 33 bytes
Pruébalo en línea!
Puertos de la solución Python de Jonathan Allan .
R , 36 bytes
Pruébalo en línea!
Mi solución original genera una matrizn × x con cada columna como incrementos, es decir, 1 ... n , 2 ... n + 1 , ... , luego toma las primeras X entradas (bajando las columnas).
fuente
05AB1E , 6 bytes
Puerto de la respuesta Jelly de @JonathanAllan , ¡así que asegúrate de votarlo!
La primera entrada esX , la segunda entrada es norte .
Pruébelo en línea o verifique todos los casos de prueba .
Explicación:
Mi propio enfoque inicial fue de 8 bytes :
La primera entrada esnorte , la segunda entrada es X .
Pruébelo en línea o verifique todos los casos de prueba .
Explicación:
fuente
Perl 6 , 18 bytes
Pruébalo en línea!
Función de curry
f(x)(n).Explicación
fuente
Brain-Flak , 100 bytes
Con comentarios y formato:
Pruébalo en línea!
fuente
J ,
1312 bytesPruébalo en línea!
cómo
Tomamos
xcomo el argumento izquierdo,ncomo el derecho. Tomemosx = 8yn = 3para este ejemplo:+/&i.: Transforme ambos argumentos creando rangos enterosi., es decir, el argumento izquierdo se convierte en0 1 2 3 4 5 6 7el argumento derecho0 1 2. Ahora creamos una "tabla de suma+/de esos dos:1 +: Agregue 1 a cada elemento de esta tabla:[: ,: Aplanarlo,:[ $: Dale forma$para que tenga el mismo número de elementos que el argumento izquierdo original no transformado[, es decirx:fuente
Octava , 25 bytes
Función anónima que ingresa números
nyx, y genera un vector de fila.Pruébalo en línea!
Cómo funciona
Considerar
n=3yx=13.El código
(1:n)'da el vector de columnaLuego
(0:x)da el vector filaLa adición
(1:n)'+(0:x)es un elemento inteligente con broadcast, por lo que proporciona una matriz con todos los pares de sumas:La indexación con
(1:x)recupera los primerosxelementos de esta matriz en orden lineal de columna mayor (abajo, luego a través), como un vector de fila:fuente
Haskell , 31 bytes
Pruébalo en línea!
Este podría ser mi tipo de recursión favorita. Comenzamos con los valores de 1 a n y luego concatenamos esos mismos valores (mediante autorreferencia) +1. entonces solo tomamos los primeros valores de x.
fuente
Adelante (gforth) , 34 bytes
Pruébalo en línea!
Explicación del código
fuente
MATL ,
16, 10 bytesPruébalo en línea!
-6 bytes guardados gracias a Guiseppe y Luis Mendo!
Explicación:
fuente
Gaia , 8 bytes
Pruébalo en línea!
Hace básicamente lo mismo que las respuestas Octave y MATL .
fuente
Jalea , 5 bytes
Pruébalo en línea!
fuente
Ruby , 32 bytes
Pruébalo en línea!
fuente
Japt
-m,127 bytesSolución Python del puerto de Jonathan .
Toma
xcomo la primera entrada.Intentalo
fuente
JavaScript, 36 bytes
¡Pruébelo en línea!
fuente
alerto enprintlugar de devolver una matriz puede reducir esto a 34 bytes:n=>g=x=>x&&print(g(--x)|1+x%n+x/n)Perl 5
-na, 43 bytesPruébalo en línea!
fuente
K (oK) ,
1716 bytesPruébalo en línea!
fuente
Stax , 6 bytes
Ejecutar y depurarlo
Desempaquetado y explicado:
fuente
Alquimista , 77 bytes
Pruébalo en línea!
Incrementa y genera un contador n veces, luego resta n-1 antes de repetir.
fuente
Carbón , 18 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. Soñé con sembrar la lista con un rango indexado a cero y luego cortarla nuevamente, pero en realidad fue 2 bytes más. Explicación:
fuente
JS, 54 bytes
Pruébalo en línea!
fuente
f=. Puede guardar un byte al cursar los parámetros (n=>x=>) y otro al esparcir y mapear la matriz ([...Array(x)].map()).Haskell,
3433 bytesPruébalo en línea!
fuente
Perl 5 , 39 bytes
Pruébalo en línea!
fuente
C (gcc) ,
4944 bytesUsando la recursión para guardar algunos bytes.
Pruébalo en línea!
fuente
APL + WIN,
29 2316 bytesOrigen del índice = 0 y solicita n y x
Pruébalo en línea! Cortesía de Dyalog Classic.
fuente
C (clang), 843 bytes
fuente
argc,argvyranges). Además, no es necesario agregar ningún mensaje de advertencia. Puede asumir que la entrada es válida, a menos que el desafío indique lo contrario.Icono , 48 bytes
Pruébalo en línea!
fuente
C # (compilador interactivo de Visual C #) , 41 bytes
Pruébalo en línea!
fuente
Factor , 55 bytes
Pruébalo en línea!
fuente