Escriba un programa que tome un entero N a través de stdin o la línea de comando.
Si N es 0, la letra única O
debe imprimirse en stdout.
Si N es positivo , se debe imprimir esta doble hélice de arte ASCII horizontal , dibujada con N segmentos de ancho.
Si N es 1, la salida es:
/\
O O
\/
Si N es 2, la salida es:
/\ /\
O / O
\/ \/
Si N es 3, la salida es:
/\ /\ /\
O / / O
\/ \/ \/
Si N es 4, la salida es:
/\ /\ /\ /\
O / / / O
\/ \/ \/ \/
El patrón continúa exactamente de la misma manera para N. más grande. Tenga en cuenta que la barra diagonal ( /
) debe usarse en todos los lugares donde se cruzan las hélices, excepto en los O
extremos.
Si N es negativo , esta doble hélice vertical ASCII art, dibujada -N segmentos de altura, debe imprimirse.
Si N es -1, la salida es:
O
/ \
\ /
O
Si N es -2, la salida es:
O
/ \
\ /
\
/ \
\ /
O
Si N es -3, la salida es:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Si N es -4, la salida es:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
El patrón continúa exactamente de la misma manera para los N. más pequeños. Tenga en cuenta que las barras inclinadas hacia atrás ( \
) deben usarse en todos los lugares en los que se cruzan las hélices, excepto los O
extremos.
Detalles
- En lugar de un programa, puede escribir una función que tome N como un entero e imprima el resultado normalmente o lo devuelva como una cadena.
- La salida para cualquier N puede contener opcionalmente una nueva línea final.
- Cualquier línea de salida para cualquier N puede contener opcionalmente 4 o menos espacios finales.
- Nunca debería haber ningún espacio inicial que no sea parte del patrón especificado.
- El código más corto en bytes gana.
<spc>O<spc>
o \nO\n
. Es innecesario que conduce permitió espacios en blanco?
print "."
Acércate para ver la hélice. * nodnod *