stdinまたはコマンドラインを介して整数Nを取り込むプログラムを作成します。
Nが0の場合、1文字O
を標準出力に印刷する必要があります。
Nが正の場合、Nセグメント幅で描かれたこの水平 ASCIIアート二重らせんを印刷する必要があります。
Nが1の場合、出力は次のとおりです。
/\
O O
\/
Nが2の場合、出力は次のとおりです。
/\ /\
O / O
\/ \/
Nが3の場合、出力は次のとおりです。
/\ /\ /\
O / / O
\/ \/ \/
Nが4の場合、出力は次のとおりです。
/\ /\ /\ /\
O / / / O
\/ \/ \/ \/
パターンは、Nが大きい場合もまったく同じように続きます。/
らせんが交差するすべての場所(O
両端を除く)でスラッシュ()を使用する必要があることに注意してください。
Nが負の場合、-Nセグメントの高さで描かれたこの垂直 ASCIIアート二重らせんを印刷する必要があります。
Nが-1の場合、出力は次のとおりです。
O
/ \
\ /
O
Nが-2の場合、出力は次のとおりです。
O
/ \
\ /
\
/ \
\ /
O
Nが-3の場合、出力は次のとおりです。
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Nが-4の場合、出力は次のとおりです。
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
パターンは、Nが小さい場合もまったく同じように続きます。\
らせんが交差するすべての場所(O
両端を除く)でバックスラッシュ()を使用する必要があることに注意してください。
詳細
- プログラムの代わりに、整数としてNを取り、結果を通常どおりに出力するか、文字列として返す関数を作成できます。
- Nの出力には、オプションで末尾の改行を含めることができます。
- 任意のNの出力行には、オプションで4つ以下の末尾スペースを含めることができます。
- 指定されたパターンの一部ではない先行スペースが存在することはありません。
- バイト単位の最短コードが優先されます。
<spc>O<spc>
またはが便利かもしれません\nO\n
。不要な先頭の空白は許可されますか?
print "."
らせんを見るにはズームインしてください。* nodnod *