久しぶりのポスターはこちら。
X、Y、Zの3つの入力を受け取るプログラムを記述します。
- X =横(列)
- Y =ダウン(行)
- Z =ロケーションマーカー
プログラムは、XとYを下にして視覚グリッドを印刷します。このグリッドは、「+」以外の任意の文字で作成できます。各「場所」からカウントアップ、インデックス番号が付与されている1、次いでダウン端まで横切る1,1を調整しました。
XとYは常に少なくとも3であり、Zは決して大きくならないX * Y
。
Zは、「+」として印刷される位置を表し、その位置と1文字の左、右、上、下を表します。例えば:
+
+++
+
最後に、+文字がエッジ(最上位、左端、右端、および/または最下端)をインターセプトする場合、+は同じ軸に沿って跳ね返り、反対側をオーバーフローします。
例:入力= 5、5、13
-----
--+--
-+++-
--+--
-----
入力= 10、10、10
-------+++
---------+
---------+
----------
----------
----------
----------
----------
----------
----------
入力= 10、10、21
----------
+---------
+++-------
+---------
----------
----------
----------
----------
----------
----------
編集:非正方形の例16,3,32
---------------+
-------------+++
---------------+
私はすべてをカバーしたと思います。入力に制限はありませんが、プログラムで必要な場合は、64 * 64で制限します。
ボーナスポイント(私はそれを行うことができますか?):入力Zは> X * Yであってはなりませんが、それがY * Zより大きい場合、中心の+をグリッドの中央に出力します。
編集:入力ZはX * Yより大きくすることはできません
編集2 :. わかりやすくするためにXとYにいくつかの変更を加えました
これはコードゴルフで、最短のコードが勝ちます。