Escriba un programa o función que, dada una cadena de entrada y una desviación estándar σ
, produzca esa cadena a lo largo de la curva de distribución normal con media 0
y desviación estándar σ
.
Curva de distribución normal
La y
coordenada de cada personaje c
es:
donde σ
se da como entrada, y donde x
es la x
coordenada del eje de c
.
- El carácter en el centro de la cadena tiene
x = 0
. Si la longitud de la cadena es par, cualquiera de los dos caracteres del medio se puede elegir como centro. - Los caracteres están separados por pasos de
0.1
(por ejemplo, el carácter a la izquierda del centro que tienex = -0.1
, el que está a la derecha del centro tienex = 0.1
, etc.).
Imprimir la cadena
- Las líneas, como los caracteres, están separadas por pasos de
0.1
. - Cada carácter se imprime en la línea con el
y
valor que está más cerca de su propioy
valor (si el valor es precisamente entre los valores de dos líneas, elegir el que tenga el mayor valor (al igual que cómoround
lo general regresa1.0
a0.5
)). - Por ejemplo, si la
y
coordenada del valor central (es decir, el valor máximo) es0.78
y lay
coordenada del primer carácter es0.2
, entonces habrá 9 líneas: el carácter central se imprime en línea0
y el primer carácter se imprime en línea8
.
Entradas y salidas
- Puede tomar ambas entradas (la cadena y
σ
) como argumentos del programa, a través deSTDIN
argumentos de función o cualquier cosa similar en su idioma. - La cadena solo contendrá
ASCII
caracteres imprimibles . La cadena puede estar vacía. σ > 0
.- Puede imprimir el resultado
STDOUT
en un archivo o devolverlo desde una función ( siempre que sea una cadena y no diga una lista de cadenas para cada línea). - Una nueva línea final es aceptable.
- Los espacios finales son aceptables siempre que no hagan que la línea exceda la última línea de longitud (por lo que no se acepta espacio final en la última línea).
Casos de prueba
σ String
0.5 Hello, World!
, W
lo or
l l
e d
H !
0.5 This is a perfectly normal sentence
tly
ec n
f o
r r
e m
p a
a l
s se
This i ntence
1.5 Programming Puzzles & Code Golf is a question and answer site for programming puzzle enthusiasts and code golfers.
d answer site for p
uestion an rogramming
Code Golf is a q puzzle enthusia
Programming Puzzles & sts and code golfers.
0.3 .....................
.
. .
. .
. .
. .
. .
. .
. .
... ...
Puntuación
Este es el código de golf ,
nsw
a er
t
s i
e n
t
or by
sh te
so the s wins.
Relacionado. Relacionado.
—
Martin Ender
—
Fatalize
Creo que el último caso de prueba debería tener 3 puntos en la fila superior, no 1.
—
addison
@addison No tengo mi implementación de referencia en esta computadora, pero no sé por qué Mego obtiene un resultado diferente. El resultado que obtiene con su código parece muy "bloqueado". Ignora ese caso de prueba por el momento, supongo.
—
Fatalize
@TheBikingViking Dejaré pasar eso, está bien.
—
Fatalize