Entrada:
Dos enteros: uno negativo, uno positivo.
Salida:
En la primera línea, salida de menor a mayor. En la segunda línea hemos eliminado los números más altos y más bajos y cambiado de signo todos los números individuales. En la tercera línea, hemos eliminado los números más altos y más bajos nuevamente y hemos cambiado de signo todos los números individuales nuevamente. etc. (El siguiente ejemplo debería aclarar el desafío).
Importante: Además, agregamos espacios para que los números en una columna estén todos alineados (a la derecha).
La alineación mínima es la principal. parte de este desafío, esto significa que no puede hacer que cada número tenga el mismo ancho. El ancho de una columna se basa en el mayor número de ancho de esa columna específica (y la secuencia con cambio de signo es dar a los números cierta variedad de ancho por columna).
Por ejemplo:
Input: -3,6
Output:
-3,-2,-1, 0, 1, 2, 3, 4,5,6 // sequence from lowest to highest
2, 1, 0,-1,-2,-3,-4,-5 // -3 and 6 removed; then all signs changed
-1, 0, 1, 2, 3, 4 // 2 and -5 removed; then all signs changed again
0,-1,-2,-3 // -1 and 4 removed; then all signs changed again
1, 2 // 0 and -3 removed; then all signs changed again
// only two numbers left, so we're done
Como puede ver arriba, se agregan espacios en los números positivos, cuando comparten una columna con números negativos para compensar el -
(lo mismo se aplicaría a los números de 2 dígitos).
Reglas de desafío:
- La entrada debe ser dos enteros
- Puede suponer que estos enteros están en el rango
-99
-99
(inclusive). - El primer entero será negativo, y el otro será positivo.
- Puede suponer que estos enteros están en el rango
- La salida puede estar en cualquier formato razonable, siempre que esté claro que hay filas y columnas alineadas correctamente: es decir, STDOUT; regresando como String con nuevas líneas; regresando como lista de cadenas; etc. Tu llamada.
- La salida también debe contener un delimitador de su elección (excepto espacios, tabulaciones, líneas nuevas, dígitos o
-
): Es decir,
; y;
y|
; yX
; etc. son todos delimitadores aceptables. - Las líneas de salida pueden no contener un delimitador inicial o final.
- La salida puede contener UNA nueva línea final, y cualquier línea puede contener cualquier número de espacios finales.
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de código. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados, programas completos. Tu llamada.
- Lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba:
Input: -3,6
Output:
-3,-2,-1, 0, 1, 2, 3, 4,5,6
2, 1, 0,-1,-2,-3,-4,-5
-1, 0, 1, 2, 3, 4
0,-1,-2,-3
1, 2
Input: -1,1
Output:
-1,0,1
0
Input: -2,8
Output:
-2,-1, 0, 1, 2, 3, 4, 5, 6,7,8
1, 0,-1,-2,-3,-4,-5,-6,-7
0, 1, 2, 3, 4, 5, 6
-1,-2,-3,-4,-5
2, 3, 4
-3
Input: -15,8
Output:
-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6,7,8
14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7
-13,-12,-11,-10, -9, -8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6
12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5
-11,-10, -9, -8, -7, -6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3
-9, -8, -7, -6, -5, -4,-3,-2,-1, 0, 1, 2
8, 7, 6, 5, 4, 3, 2, 1, 0,-1
-7, -6, -5, -4, -3, -2,-1, 0
6, 5, 4, 3, 2, 1
-5, -4, -3, -2
4, 3
Input: -3,15
Output:
-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15
2, 1, 0,-1,-2,-3,-4,-5, -6,-7, -8, -9,-10,-11,-12,-13,-14
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
0,-1,-2,-3,-4,-5,-6,-7, -8,-9,-10,-11,-12
1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11
-2,-3,-4,-5,-6,-7,-8,-9,-10
3, 4, 5, 6, 7, 8, 9
-4,-5,-6,-7,-8
5, 6, 7
-6
Input: -12,12
Output:
-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11
-10, -9, -8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10
9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8,-9
-8, -7, -6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8
7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7
-6, -5, -4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6
5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5
-4, -3, -2,-1, 0, 1, 2, 3, 4
3, 2, 1, 0,-1,-2,-3
-2, -1, 0, 1, 2
1, 0, -1
0
-99
y la entrada positiva más grande posible es99
.Respuestas:
Jalea ,
252420 bytesEste es un enlace diádico que devuelve una matriz de filas.
Pruébalo en línea!
Cómo funciona
fuente
05AB1E , 59 bytes
Una vez más estoy jodido por el mismo error por el que escribí una solución hace meses pero nunca presioné ... Sin embargo, el
golf aún debería ser posible.
Pruébalo en línea!
fuente
ŸÐ',ý,gÍ;µ¦¨(D',ý,¼
no cumple con las especificaciones de formato, mira si puedes mejorarlo;)Ÿ[Ðg1‹#',ý,¦(¨
sería suficiente de lo contrario :)Java 8,
483480486† 467 bytes† Bytes generados debido a la corrección de errores.
Ok, esto tomó MUCHO más tiempo (y bytes) de lo que pensaba (en Java, eso es ...). Esto definitivamente se puede jugar un poco más, probablemente utilizando un enfoque completamente diferente en lugar de crear una matriz de cuadrícula NxN para llenar y luego 'quitar' los ceros (con un caso de borde molesto para el caso de prueba
-1,1
, así como-12,12
) .Pruébalo en línea.
Explicación:
fuente
Javascript (ES6), 269 bytes
Explicado:
fuente
QBIC , 46 bytes
Cómo funciona:
Afortunadamente, al imprimir un número, QBasic agrega automáticamente el relleno necesario.
fuente
q
, ¿el valor predeterminado comienza en 1? ¿Todos los valores en QBIC comienzan en 1, o hay algo que me falta aquí? ¿Y cuál es eld
/ dónded
representa el soporte? ¿O esd
el número actual en el bucle y el?
simplemente un delimitado necesario en el código del bucle for (en lugar de?
ser el número actual, que fue como lo leí inicialmente)?q
comienza en 1. Todas las letras minúsculas son números vars y las letrasq-z
se inicializan en1-10
. Y varios comandos asignan automáticamente números en el orden en que se encuentran en el código.d
es, de hecho, el iterador en el bucle FOR interno. Para más detalles, vea también el escaparate , o estePerl 6 , 146 bytes
Intentalo
Produce una secuencia de cuerdas
Expandido:
fuente
PHP 7.1, 277 bytes
Intérprete en línea
fuente
Aplicación de consola C # 196 Bytes
fuente
Javascript -
196185176 bytesNo estoy realmente al día con algunas de las técnicas JS más nuevas, por lo que probablemente esto se pueda jugar mucho más.
Simplemente crea una buena tabla HTML pasada de moda sin un ancho definido para las celdas, por lo que la primera fila tiene el ancho predeterminado de cada entrada en el espacio óptimo. También (ab) usa la "característica" de HTML de no requerir etiquetas de cierre si aparece primero una nueva etiqueta de apertura.
fuente
Python 2 - 208 bytes
Pruébalo en línea
Crea una matriz de valores de relleno y luego lo usa para construir las cadenas formateadas necesarias
Explicación:
fuente
,
y;
y|
son todos los delimitadores aceptables. " En la actualidad se utiliza un espacio como delimitador. Pero la dificultad principal del ancho se ha abordado, por lo que lo estás haciendo muy bien hasta ahora. Solo este pequeño cambio, y luego debería hacerse. :)%l[i], range
?)