Medusa , 12 11 9 bytes
\P$'*
i
Explicación
El programa anterior es equivalente al siguiente pseudocódigo funcional:
\ P $ i '*
map_prefixes(print, reshape(input(), '*'))
El $
(remodelar) crea una cadena de N
asteriscos. \P
crea una función que toma una lista (o cadena) y pasa cada uno de sus prefijos a P
(imprimir). Por lo tanto, esta opción se imprime sucesivamente cuerdas de 1
a N
asteriscos.
Martin Ender
fuente
fuente
([1..n]>>"*")
lugar dereplicate n'*'
guardar un byte. También cuento solo 39 bytes.f 0=""
cual se cuenta como un byte, pero se muestra como dos bytes / caracteres en algunos editores de texto.f x=unlines[[1..n]>>"*"|n<-[1..x]]
.Pyth, 7 bytes
Perdí un byte gracias a @ETHproductions Pruébalo en línea
utilizando la técnica de @ PIetu1998
6, bytes
fuente
"*"
con\*
.j*L\*S
(incluido elS
rango, multiplique cada uno*L
por "*"\*
,j
oin por nueva línea) Pyth inserta una Q implícita al final.jm*\*h
También es de 6 bytes.2sable ,
2411 bytesPruébalo en línea!
¡Y no hay signos de asteriscos! Golfó del 24 al 11 gracias a @Emigna .
Explicación:
fuente
õVYI
no afecta su código de ninguna manera y puede eliminarse.1+
es el mismo que>
. Si crea el asterisco en el bucle, también puede eliminarloUX
. El uso en×
lugar del bucle interno ahorra aún más bytes. Sin cambiar el método, puede reducirlo a 11 bytes o menos.Brain-Flak 75 Bytes
Incluye +3 para
-A
Pruébalo en línea!
Explicación:
fuente
Dyalog APL , 8 bytes
↑
Matrificar la lista que consiste en'*'
la cuerda "*"⍴⍨
remodelado por¨
Cada uno de⍳
los enteros 1 a través del argumento.TryAPL en línea!
fuente
⌸
puede ser un solo byte:(,⍕⊢)⌸⍳
7 bytes<sup>SBCS</sup>
.V , 8 bytes
Pruébalo en línea!
fuente
Àé
hòlÄ
!<M-@><M-i>*h<M-r>l<M-D>x
(m significa meta, que significa alt). Todos esos son mnemónicos bastante buenos para lo que hace el comando.JavaScript (ES6), 34 bytes
fuente
Perl 6 , 23 bytes
(Si se permite que la salida sea una lista de "líneas" sin líneas nuevas,
.put for
se puede eliminar)Explicación:
(Consulte la documentación
produce
si no comprende lo que[\~] ...
está haciendo)fuente
Perl 5,
2220 bytesEjecútelo con el
-E
interruptor para obtenersay
.Escrito como un programa completo, se vería así:
shift
epop
implícitamente trabajar en@ARGV
(la lista de argumentos) fuera de los subs..
es el operador de rangosay
incluye una nueva líneax
es un operador para repetir cadenas y se explica en perlopfuente
-E
bandera cuenta como 1 byte extra.perl -E 'say"*"x$_ for 1..<>' <<< 5
-E
es gratis (ya que reemplaza lo-e
que sería necesario de todos modos). Si realmente desea tomar el número de la línea de comando (¿por qué no, incluso si<>
es 1 byte más corto y permitido), debe usarlo enpop
lugar deshift
(2 bytes más corto)! De todos modos, bienvenido en PPCG, ¡feliz de verte jugando al golf!Perl, 19 bytes
-4 bytes gracias a @Ton Hospel y su revisión de la solución.
Necesita bandera
-E
(o-M5.010
) libre para ejecutarse. Toma un número de entrada:fuente
eval
la misma longitud que lafor
solución (usando en<>
lugar depop
) coneval"s//*/;say;"x<>
J,
118 bytes¡Guardado 3 bytes gracias a millas!
Aquí hay una descomposición:
Ahora, este último se lee como "los prefijos (
]\
) de la cadena que consiste enx
copias de'*'
". Observar:Caso de prueba
Soluciones antiguas de 11 bytes
Esto es equivalente
1 + i.
es el rango[1, x]
. Luego,'*' #~"0
aplicado a este rango formas (elemento) copias de'*'
.Programa de bonificación:
Esta es una bifurcación limitada
#&'*'\
aplicada al resultado#&1
de la entrada.#&1
da una matriz dex
unos y#&'*'\
formas'*'
a los prefijos de esta matriz.Casos de prueba
fuente
n
copias de'*'
8 bytes utilizando]\@#&'*'
'*'"0\@i.
Vim,
22, 18 pulsaciones de teclasGran crédito a @Udioica por llegar a una increíble respuesta vim que . Esta respuesta no contiene asteriscos, con la esperanza de ganar la recompensa.
Explicación:
La entrada se escribe antes que el resto del programa. A Udioica se le ocurrió este increíble truco. La escritura
<n>O <esc>
creará una pirámide de espacios y una línea vacía, siempre que haya:set autoindent
habilitado. Esta opción se activa de forma predeterminada en vim 8 y neovim, aunque no en versiones anteriores de vim. Como esto también crea una línea extra, usamosJ
para unir esta línea con la siguiente, lo que efectivamente elimina la línea debajo de nosotros.Ahora, en este punto, necesitamos reemplazar todos estos espacios con asteriscos. Si no me preocupara usar asteriscos en mi código, solo seleccionaría visualmente todo
<C-v>{
y escribiríar*
, lo que reemplaza cada carácter de la selección con un asterisco. Pero no puedo hacer eso.Entonces abrimos las páginas de ayuda a
:h r
. Lo interesante de esto es que en la ventana vim, esta página se muestra como:Con el cursor en la primera 'r'. Sin embargo, el archivo en sí contiene este texto:
Muy conveniente Entonces nos movemos sobre un carácter con
l
, y tiramos el textor*
conyE
([y] ank al [E] nd de esta palabra).Para cerrar este búfer, usamos el acceso directo para guardar un archivo
ZZ
. Ahora, seleccionamos visualmente nuestros espacios y ejecutamos el texto extraído como si lo hubiéramos escrito al hacerlo@"
. Esto funciona porque "@" ejecuta el siguiente registro como pulsaciones de teclas vim y "es el registro predeterminado para la extracción".fuente
C,
47464543 bytesToma información de la línea de comando
Básicamente si n no es 0 recurse en n-1. en la parte superior de la recursión donde n es 0, solo imprime una nueva línea, el bucle for termina cuando n es -1 o ~ n es cero; de lo contrario, imprime ASCII 42, que es '*'. Pruébalo en ideone
C ++ 58 Bytes + 19 para incluir iostream es 77
fuente
&&
:n?f(n-1):0
→n&&f(n-1)
.Retina , 14 bytes
El recuento de bytes asume la codificación ISO 8859-1.
Pruébalo en línea!
Explicación
Convierta la entrada
N
enN
asteriscos.Reemplace cada asterisco con todo hasta ese asterisco (este es el
$`$&
) y un salto de línea (este el¶
).fuente
MATL,
98 bytes1 byte guardado gracias a @Luis
Pruébalo en línea
fuente
Cubix , 22 bytes
¡Pruébalo en línea! Emite una nueva línea final.
Al principio no estaba seguro de que pudiera encajar en un cubo de 2, pero al final funcionó bien:
Agregaré una explicación cuando tenga tiempo, con suerte más tarde hoy.
fuente