Dada la amplitud y el período de una onda, imprima la onda. Ver salida de muestra para más detalles. El número total de formas de onda es igual al período, y la altura de cada onda es igual a la amplitud. La amplitud y el período son inferiores a 10. Puede ignorar los espacios finales pero no los espacios iniciales.
Sample Input
3 2
Sample Output
3 3
232 232
12321 12321 12321 12321
232 232
3 3
ascii-art
etiqueta. Pero la parte del arte no está del todo presente, ¿tal vez debería haber otra etiqueta para los gráficos ascii?Respuestas:
Dyalog APL,
4340 bytes{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)(n,1-n←2×⍵)↑↑b⍴¨⍕¨b←a,1↓⌽a←⍳⍵}
{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)n(1-n←2×⍵)↑↑⍴∘⍕¨⍨a,1↓⌽a←⍳⍵}
( Gracias, Moris Zucca )Esta es una función diádica con la amplitud como argumento derecho (
⍵
) y el punto como argumento izquierdo (⍺
). Un programa que lee la entrada del usuario tomaría la misma cantidad de caracteres.Inspirándose en la respuesta de Martin Büttner en CJam :
fuente
(n,1-n←2×⍵)
an(1-n←2×⍵)
.Python - 135 caracteres
Esta versión con un espacio inicial es de 132 caracteres
También puede ser considerablemente más corto si no es necesario leer desde stdin o incluso si la entrada está separada por comas
Para la entrada separada por comas, la primera línea se convierte en
fuente
APL (77)
fuente
J, 87 caracteres
Como un programa:
funciona así:
Son 5 caracteres más si lo necesitamos como función F:
fuente
Haskell (
226225222220214)Mi intento en Haskell:
Lo siento chicos,
(€)
está optimizado, ¡se necesitan tres bytes por un € en lugar de! que solo toma un byte cada uno.Aquí hay una "versión beta" que no satisface las especificaciones:
fuente
CJam, 45 bytes
CJam es mucho más joven que este desafío, por lo que esta respuesta no es elegible para la marca de verificación verde (que por cierto debería actualizarse a la respuesta APL de marinus). Sin embargo, este fue un pequeño ejercicio divertido.
Pruébalo aquí.
La idea es generar medio período verticalmente , así:
(Además de la siguiente fila vacía que SE traga). Esto luego se duplica, cada fila se invierte y se agrega la segunda mitad del período. Luego, todo se repite por el número de períodos, y finalmente la cuadrícula se transpone para orientar la onda a lo largo de la horizontal.
fuente