あなたが吹くそれらの楽しい風車を覚えており、それらはくるくると回転しますか?1つコーディングしましょう!
風車には、\ | / _
中心と腕を描くキャラクターのセットがあります。1つの可能な風車は次のようになります。
|
|
|_ ___
___|_|
|
|
|
しかし、回転しない風車とは何ですか?楽しくない!シンボルを再配置することでスピンさせることができます:
/
\ /
\ /
\/\
\/\
/ \
/ \
/
課題は、3つの整数を取り、以下に指定するように風車を出力するプログラムを作成することです。これらの1つ目はアームの数、2つ目は風車のアームの長さ、3つ目は時計回りに1/8回転する回数です。
次のことを想定できます。
- アームの数は常に0、1、2、4、または8です。
- すべてのアームは互いに等間隔に配置されます。
風車の初期位置の中心は次のようになります。
_ |_|
腕の数が1の場合、腕が指す方向を決定できます。
- 腕の数が2の場合、腕を垂直または水平に向けることができます。
STDINまたはコマンドライン引数を介して入力を受け取る完全なプログラム、または関数引数を介して入力を受け取る関数を作成できます。プログラムは、風車の回転を示す一連の出力を表示する必要があります。各出力は、少なくとも1つの空行で区切られています。風車の中心は、1スペース以上移動しないでください。必要なだけ先頭および末尾のスペースを出力できます。
ここではいくつかの例を示します。
0 2 1
_
|_|
/\
\/
1 3 2
|
|
|_
|_|
/
/
/
/\
\/
_ ___
|_|
2 2 0
_ __
__|_|
8 4 1
\ | /
\ | /
\ | /
\|_/____
____|_|
/ |\
/ | \
/ | \
/ | \
| /
\ | /
\ | /
\ |/
____\/\____
\/\
/| \
/ | \
/ | \
/ |
これはコードゴルフなので、最短のコードが勝ちます。がんばろう!
1 3 5
および最初に上向きのアームなど)、これに対応するために、以前の出力にスペースを追加する必要があります。