El reto
¡Escriba un programa o función que imprima estrellas! El programa recibirá dos parámetros por entrada estándar: tamaño de la estrella y número de puntos de la estrella. Una estrella puede tener cualquier tamaño entre 0 y 10 y tener 3, 4 o 5 puntos. Los parámetros de entrada están separados por una coma, por ejemplo: 5,3
significa un tamaño de 5 estrellas con 3 puntos. Las estrellas están compuestas por asteriscos.*
Considere que el programa solo recibirá entradas válidas.
¡Las impresiones deben estar correctamente espaciadas para que podamos ver bonitas estrellas en la salida!
Explicaciones de los parámetros
Puntos
Es el número de brazos contando desde el asterisco central.
Estrellas de 3 puntos :
*
*
*
* *
* *
Están compuestos por brazos verticales y dos brazos diagonales. La separación entre brazos diagonales es2*size-1
Estrellas de 4 puntos
* *
* *
*
* *
* *
Tienen la forma de una X y se componen de dos líneas diagonales. La separación entre líneas es2*(size-1)+1
5 puntos estrellas
*
*
* * * * *
* *
* *
Están compuestos por una línea vertical y una línea horizontal. Cada asterisco en la línea horizontal está separado por un espacio. También tienen dos líneas diagonales, con una separación entre sí de2*(size-2)+1
Talla
El tamaño es el número de asteriscos que tiene cada brazo de la estrella contando desde el asterisco central (inclusive).
Las estrellas de tamaño 1 están compuestas por un solo asterisco
*
Tamaño 2 estrellas ejemplos
3 puntos
*
*
* *
Estrellas de 4 puntos
* *
*
* *
5 puntos estrellas
*
* * *
* *
Tienes ejemplos del tamaño 3 estrellas en la explicación del parámetro Puntos.
Criterios ganadores
El código más corto gana. El código debe verificarse con los siguientes parámetros de entrada:3,2
3,3
4,2
4,3
5,2
5,3
Prima
-25% de caracteres cuentan para crear un tamaño de 6 puntos con los criterios explicados anteriormente (6 brazos y el tamaño es el número de asteriscos contando desde el asterisco central). Puede ser cualquier forma que desee mientras respeta las especificaciones. Un ejemplo de una estrella de talla 6 con talla 3:
*
*
* * * * *
* * *
* * *
Las estrellas de 6 puntos deben verificarse con las siguientes entradas 6,2
6,3
.
Respuestas:
Mathematica
80 7667 caracteresAlgunos cuestionarían si esto es arte ASCII, pero no pude resistirme.
Uso (establecer el tamaño de fuente en 24 para que las estrellas parezcan grandes).
Salida para los siguientes casos:
{{3, 2}, {3, 3}, {4, 2}, {4, 3},
{5, 2}, {5, 3}, {6, 2}, {6, 3},
{7, 4}, {8, 3}, {9, 2}, {12, 4}}
Cómo funciona
(a) La primera estrella está en el origen de un espacio de coordenadas. Vamos a mostrarlo.
(b) Después, mostraremos un punto en {1,0}.
(c) Luego 5 puntos a la vez. Aplicamos una función pura en cada par de coordenadas que le siguen.
(d) Use Cos y Sin para determinar las coordenadas
(e) Coordina el trabajo solo en el círculo unitario; 6 es el número de haces de luz.
(f) Dibuje radios de 0 a 4 unidades.
fuente
Rubí, ASCII,
193puntaje 142 (189 caracteres - 25% de bonificación)Pruébelo en línea
Creo que califica para el bono de estrella de 6 rayos.
fuente
Mathematica ,
6564Mi opinión sobre el método de David:
Utilizar:
Los errores se producen por el uso de, en
=
lugar de:=
, y no es la forma correcta de hacer una definición, pero funciona aquí.Si a uno se le permitiera usar puntos en lugar de asteriscos, esto podría escribirse (52 caracteres):
fuente
fuente