Desafío
Dada una secuencia de enteros no negativos, cree una función que genere una pirámide descendente donde los hijos son la suma de ambos números primarios.
El resultado se genera como una cadena usando tab \t
.
Nota: no se requieren pestañas finales en cada línea
1\t\t2\t\t3\n\t3\t\t5\t\n\t\t8\t\t results in
1 2 3
3 5
8
Opcionalmente, el resultado se puede generar como una matriz utilizando una posición vacía como espacio.
[[1,,2,,3],
[,3,,5,],
[,,8,,]]
Ejemplo:
4,5,7,3,4,2
Salida dada :
4 5 7 3 4 2
9 12 10 7 6
21 22 17 13
43 39 30
82 69
151
Reglas
- Aplican reglas estándar de código de golf
- La entrada puede ser una cadena usando cualquier separador o una matriz
- Se permiten nuevas líneas y pestañas iniciales / finales (pero no se requieren siempre que la salida sea una pirámide invertida)
Casos de prueba
Input: 1,3,5
1 3 5
4 8
12
Input: 9,8,7,6,5
9 8 7 6 5
17 15 13 11
32 28 24
60 52
112
Input: 5,5,2,5
[[5,,5,,2,,5],
[,10,,7,,7,],
[,,17,,14,,],
[,,,31,,,]]
Input: 3,3,3
[[3,,3,,3],
[,6,,6,],
[,,12,,]]
El criterio ganador es code-golf
Nota: Este desafío está muy cerca del Generar el triángulo de Pascal . La diferencia es la secuencia de inicio personalizada (pascal va desde 1 y en modo ascendente, esto desde una entrada y en modo descendente).
non-negative integers
tenemos que manejar0
? Hay algunas posibilidades de golf si los espacios vacíos se llenan con0
s.Respuestas:
APL (Dyalog Unicode) ,
3128 bytes SBCSFunción de prefijo tácito. Utiliza un solo espacio como marcador de ranura vacío. Devuelve la lista de listas de números / espacios.
Pruébalo en línea!
⍳∘≢{
…}¨⊂
Aplique la siguiente función para cada uno de⍳
los of nices∘
de≢
la cuenta con⊂
el argumento completo:⊢⍵
producir el argumento correcto (la entrada original)2+/⍣⍺
aplique la suma por pares tantas veces como lo indique el argumento izquierdo,∘' '¨
agrega un espacio a cada número(
...),
agregue eso a lo siguiente:⍺⍴''
Elementos de argumento izquierdo de la cadena vacía (rellenados con espacios)∊
ϵ nlist (aplanar)fuente
05AB1E , 15 bytes
Pruébalo en línea!
fuente
Wolfram Language (Mathematica) , 74 bytes
Pruébalo en línea!
fuente
Jalea ,
1413 bytes14 -> 13 asume que solo se permite la entrada de espacios finales en la salida del formato de lista; si no, volveré a los 14 ( preguntado )
Un enlace monádico. La salida es una lista de listas que utilizan caracteres de espacio como espacios (incluye una sola entrada de espacios finales).
Pruébalo en línea! (incluye un pie de página para mostrar la estructura de la lista ya que ejecutar el enlace monádico como un programa completo imprimirá la salida aplastada implícitamente).
fuente
Casco , 22 bytes
Pruébalo en línea!
Explicación
fuente
JavaScript (ES6), 73 bytes
Código fuente extraño ... De todos modos, ¡eso es código golf !
Incluye espacios en blanco iniciales y finales.
Pruébalo en línea!
fuente
Perl 5
-a
, 62 bytesPruébalo en línea!
fuente
Python 3 ,
1019380 bytesAhorré 7 bytes (en
map(str,x)
lugar defor in
e init y as''
) y me libré de las nuevas líneas finales (enx and[
lugar deprint(
), gracias a Jo King .Guardado 13 bytes (en
[*map(sum,zip(x,x[1:]))]
lugar de[x[j]+x[j+1]for j in range(len(x)-1)]
) gracias a los ovs .Pruébalo en línea!
fuente
Retina , 35 bytes
Pruébalo en línea! Explicación:
Repita hasta que el búfer deje de cambiar,
Imprima el contenido del búfer antes de la sustitución, con una nueva línea final, y
Sustituya un solo número con un par de pestañas, pero un número seguido de otro número con una pestaña, la suma y otra pestaña.
fuente
C (clang) , 112 bytes
Pruébalo en línea!
fuente
putchar(9)
lugar deprintf("\t")
Rojo , 151 bytes
Pruébalo en línea!
Más legible:
fuente
Perl 6 ,
5048 bytesPruébalo en línea!
Bloque de código anónimo que toma una lista de enteros e imprime la pirámide invertida.
fuente
C # (compilador de Visual C #) , 163 bytes
Pruébalo en línea!
Legible:
fuente
Japt
-Rx
,2018 bytesLa segunda línea incluye una pestaña final.
Intentalo
Explicación
fuente