Schreiben Sie ein Programm, das eine Ganzzahl N über stdin oder die Befehlszeile aufnimmt.
Wenn N 0 ist, muss der einzelne Buchstabe O
auf stdout gedruckt werden.
Wenn N positiv ist , muss diese horizontale ASCII -Doppelhelix mit einer Breite von N Segmenten gedruckt werden.
Wenn N 1 ist, ist die Ausgabe:
/\
O O
\/
Wenn N 2 ist, ist die Ausgabe:
/\ /\
O / O
\/ \/
Wenn N 3 ist, ist die Ausgabe:
/\ /\ /\
O / / O
\/ \/ \/
Wenn N 4 ist, ist die Ausgabe:
/\ /\ /\ /\
O / / / O
\/ \/ \/ \/
Das Muster wird für größeres N genauso fortgesetzt. Beachten Sie, dass der Schrägstrich ( /
) an allen Stellen verwendet werden muss, an denen sich die Helixen kreuzen, mit Ausnahme der O
Enden.
Wenn N negativ ist , muss diese vertikale ASCII-Doppelhelix (gezeichnet - N Segmente hoch) gedruckt werden.
Wenn N -1 ist, ist die Ausgabe:
O
/ \
\ /
O
Wenn N -2 ist, ist die Ausgabe:
O
/ \
\ /
\
/ \
\ /
O
Wenn N -3 ist, ist die Ausgabe:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Wenn N -4 ist, ist die Ausgabe:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Das Muster wird für kleinere N genauso fortgesetzt. Beachten Sie, dass Schrägstriche ( \
) an allen Stellen verwendet werden müssen, an denen sich die Helixen kreuzen, mit Ausnahme der O
Enden.
Einzelheiten
- Anstelle eines Programms können Sie eine Funktion schreiben, die N als Ganzzahl verwendet und das Ergebnis normal ausgibt oder als Zeichenfolge zurückgibt.
- Die Ausgabe für ein beliebiges N kann optional eine nachgestellte Newline enthalten.
- Jede Ausgabezeile für ein beliebiges N kann optional 4 oder weniger nachgestellte Leerzeichen enthalten.
- Es sollte niemals ein führendes Leerzeichen geben, das nicht Teil des angegebenen Musters ist.
- Der kürzeste Code in Bytes gewinnt.
<spc>O<spc>
oder zu drucken \nO\n
. Ist unnötig führendes Leerzeichen erlaubt?
print "."
Zoomen Sie hinein, um die Helix zu sehen. * nodnod *