Dado un número N, genera un triángulo en ángulo recto NxN, donde cada fila ise llena con números hasta i.
Ejemplo
n = 0
(ninguna salida)
n = 4
1
1 2
1 2 3
1 2 3 4
n = 10
1
1 2
1 2 3
.
.
.
1 2 3 4 5 6 7 8 9 10
(no se necesita alineación)
n = N
1
1 2
1 2 3
.
.
.
1 2 3 4 .... N
No hay espacio final al final de cada línea.
Se gana el menor número de bytes y no se permiten las lagunas estándar.

Respuestas:
Joe ,
53 bytes (+2 o +3 para-tbandera)Bueno, aparentemente no utilicé todo el potencial de Joe. Esto fue posible cuando publiqué esto por primera vez.
Aquí,
Rda el rango de 0 a n, exclusivo. Luego\Atoma sucesivos prefijos (Aes la función de identidad). Ejemplos:Con
-tbandera (nota: esta es ahora la salida estándar incluso sin la bandera):Sin ello:
Las reglas cambiaron un poco. Mi código anterior no se comportó correctamente con N = 0. Además, ahora la salida podría ser solo una lista anidada, por lo que
-tse puede descartar.Ahora,
Rnda un rango de 0 a n, exclusivo. Si se le da 0, devuelve una lista vacía.1+agrega 1 a cada elemento de ese rango.1Rasigna los valores a rangos de 1 a x. Los pasivos vacíos, cuando se asignan, devuelven listas vacías.Salida de ejemplo:
Actualización: acabo de notar algo. La función se asigna automáticamente a elementos de rango 0. El siguiente ejemplo se ejecuta con
-tflag.Antiguo: 5 bytes (con la
-tbandera)Esta es una función anónima que toma un número, crea una lista de 1 a N (
1Rn) y asigna esos valores al rango anterior, dando un rango de 1 a x para cada elemento del rango 1 a N.La
-tbandera da salida como una tabla tipo J.Nota: el lenguaje es muy nuevo y no está completo, pero la última versión se lanzó antes de este desafío.
fuente
Python 3,
4845 bytesHurra por los efectos secundarios.
fuente
printde ejecutar elprints en orden inverso.APL, 5
crea un vector 1..n y para cada elemento otro vector de este tipo.
Entonces ⍪ forma una columna con todos los vectores. Esto evita el problema con los espacios en blanco finales.
Pruébalo en tryapl.org
Solución anterior:
Crea un vector 1..n
{⎕ ← ⍳⍵} es una función que genera para cada elemento (¨) un vector 1..n en una línea separada
Desafortunadamente, este no se puede probar en tryapl.org, porque ⎕ ← no funciona allí.
fuente
J, 27 bytes
J no es bueno con salida numérica sin matriz. Esta función crea una cadena con el formato adecuado a partir de los números.
Pruébelo en línea aquí.
fuente
]\@i.para obtener;@(<@,&LF@":@:>:@:]\@i.)PHP, 53 bytes
Edición 2: Ismael Miguel sugirió leer desde la entrada en lugar de definir una función, por lo que la puntuación ahora es de 53 bytes para PHP:
Y una vez más, se puede mejorar si PHP está configurado para ignorar errores (52 bytes):
Editar: Austin sugirió una versión de 60 bytes en los comentarios:
Que se puede mejorar si no mostramos errores de PHP (59 bytes):
$aalmacena la siguiente línea que se imprimirá, y cada vez que se imprime un espacio y el siguiente número (printsiempre devuelve1) se concatenan.Funciones recursivas (65 bytes):
Función recursiva más corta, con informe de errores deshabilitado (64 bytes):
Función recursiva aún más corta, con informe de errores deshabilitado y una línea vacía antes de la salida real (62 bytes):
Solo por diversión, funciones no recursivas:
fuente
for($a=1;@$i<$n;$a.=" ".(@++$i+print"$a\n"));for($a=1;@$i++<$n;$a.=" ".($i+print"$a\n"));(44 bytes)function f($n){for($a=1;@$i++<$n;$a.=" ".($i+print"$a\n"));}, que es 60 bytes.for($a=1;$i++<$n=$_GET[n];$a.=" ".($i+print"$a\n"));-> prueba esto (código completo, usando el parámetro urlncon el número)CJam,
1312 bytesCómo funciona :
Pruébalo en línea aquí
fuente
Pyth, 9 bytes
Realmente pensé que esto se puede hacer más corto, pero no lo parece.
Pruébalo en línea .
fuente
VQaYhNjdY. Si soloadevuelve la lista, entonces algo asíVQjdaYhNsería 8.abrevemente utilizado para devolver la lista adjunta.N+1+1-1?res la función de rango de Python, por lo tanto, el -1 (r1Ncrea la lista[1, 2, ..., N-1]). Pero en la iteración enésima del bucle, quiero la lista[1, 2, ..., N+1], por lo tanto, tengo que añadir2aN.r1hhNse traduce directamente arange(1, N+1+1). Otra posibilidad seríar1+N2(range(1, N+2)).mhdhN, pero ese es un enfoque completamente diferente.JavaScript (ES6) 49
52Una tarea tan simple, me pregunto si esto se puede acortar en JS (Actualización: sí, usando recursividad)
Recursivo 49
Iteraive 52
fuente
Java,
8584 bytesEsto es sorprendentemente corto en Java.
Sangrado:
1 byte gracias a Bigtoes / Geobits
fuente
b+=...enprintln(b+=...).Prólogo - 119
fuente
Python 2 -
62 625465 bytesfuente
ndebe dar como entrada al programa, no inicializado en una variable.NhaciendoN=input()o algo similar, para que tu programa pueda ejecutarse como tal. Aquí hay una Meta discusión sobre el tema.J, 9 caracteres
Como verbo tácito, monádico.
i. y- los números de0ay - 1.1 + i. y- los números de1ay.": y- el vectoryrepresentado como una cadena.":\ y- cada prefijo deyrepresentado como una cadena.":\ 1 + i. y- cada prefijo de los números de1ayrepresentados como una matriz de caracteres.fuente
> <> (Pez) ,
4037 + 3 = 40 bytesUna vez más,> <> funciona decentemente bien en otro ejercicio de impresión de números. Ejecutar con la
-vbandera de entrada, por ejemploExplicación
fuente
C (sin bucles, ¡sí!) - 72 bytes
Esto crea una función
r(n)que se puede usar de esta manera:Véalo en acción, aquí en tutorialspoint.com
Requiere unos pocos trucos fáciles de explicar. Creo que se puede mejorar mucho.
fuente
b(n,c){if(n){b(n-1,32);printf("%d%c",n,c);}}r(n){if(n){r(n-1);b(n,10);}}b(n,c){n&&b(n-1,32)^printf("%d%c",n,c);}r(n){n&&r(n-1)^b(n,10);}Wandbox dePython 2 - 72
fuente
p. En otra nota, puede eliminar dos espacios, uno entreprinty'\n'y el otro entre)))yfor.def p(N):print'\n'.join(' '.join(map(str,range(1,i+2)))for i in range(N))Perl, 28
Lee el parámetro de stdin.
Desde la línea de comando:
pero ahora no sé cómo contar eso (probablemente entre 25 y 29).
fuente
Pitón
fuente
for i in range(int(input())):print(' '.join("123456789"[:i+1]))cuenta que las cadenas se tratan como listas.Golfscript 14
Espera que el número de entrada esté presente en la pila.
Ejemplo en línea: enlace
fuente
Clip , 16
Explicación
fuente
Ir,
9381789390 bytesActual sin golf
Si necesitamos manejar N> 9, podemos usar lo siguiente en 78 bytes, sin embargo, requiere importar el
fmtpaquete.Si incluimos la declaración de importación, ahora estoy de vuelta en mi inicial
939290 bytesPruébelo en línea aquí: http://play.golang.org/p/BWLQ9R6ilw
La versión con
fmtestá aquí: http://play.golang.org/p/hQEkLvpiqtfuente
!=a>.importdeclaraciónZX / Sinclair BASIC - 39 bytes
ZX Basic utiliza 1 byte por palabra clave (todas las palabras en mayúscula), por lo que ayuda a mantener un poco el tamaño del byte ...
Usando n = 8
fuente
VAL("1")(6 bytes ya que VAL es 1) en lugar de1(7 bytes))R, 28
fuente
[1]de cada línea infringe la especificación.1; 1 0. (Pretender que;es un salto de línea.)cat(1:i,"\n"). Aunque es un poco más largo queprint(1:i), no incluye un inicio[1]en cada línea.TI-Basic, 28 bytes
fuente
C, 89 caracteres
Para eliminar la confusión sobre
puts("");. Esto simplemente imprime un carácter de nueva línea (como se ve aquí ):Lo hice un poco más corto con el algoritmo java de @ TheBestOne:
fuente
puts("");no hace nada. Puede usar enchar b[999]=""lugar dechar b[999]={0}guardar 1 personaje.puts("");Imprime un carácter de nueva línea.Perl: 34 caracteres
Este código obtiene el número de entrada proporcionado a través de la variable especial
$_.fuente
print"@$_\n"for map[1..$_],1..$_también funciona.C # - 94 bytes
Escrito como una función anónima que devuelve una cadena, que no parece estar prohibida por la especificación.
Aquí hay una versión sin golf (los comentarios se leen en orden BDCA):
fuente
Bash + coreutils, 26 bytes
seqsimplemente genera los números 1 a nsedguarda la salida completa para una línea dada en el espacio de espera y luego agrega la siguiente línea.fuente
Haskell,
6257 bytesEstilo sin puntos. Ejemplo de uso:
fuente
e=enumFromTo 1ahorra 7 bytes.enumFromTo 1, también tengo que darle un nombre a la función principal, por lo que son 5 bytes. Sin el nombre sería unaletconstrucción:let e=enumFromTo 1 in (putStr.unlines.map(unwords.map show.e).e) 5Mathematica, 32
fuente
TableForm[Range/@Range@#]&?Grid[Range/@Range@#]&Grid).Scala,
736562 bytesSin golf
fuente