前書き
幾何学において、ペアノ曲線は、1890年にジュゼッペペアノによって発見された空間充填曲線の最初の例です。ペアノ曲線は、単位間隔から単位正方形への単射的で連続的な関数ですが、単射ではありません。ペアノは、これら2つのセットのカーディナリティが同じであるという以前のGeorg Cantorの結果に動機付けられました。この例のため、一部の著者は、「Peano curve」というフレーズを使用して、より一般的に任意の空間充填曲線を指します。
チャレンジ
プログラムは、整数n
である入力を受け取り、n
この画像の左端に示されている横2から始まるペアノ曲線の3番目の反復を表す図面を出力します。
入力
n
ペアノ曲線の反復数を示す整数。オプションで、追加の入力はボーナスのセクションで説明されています。
出力
n
ペアノ曲線の3番目の反復の図。描画は、ASCIIアートまたは「実際の」描画のどちらでも、最も簡単なものと最も短いもののどちらでもかまいません。
ルール
- 入力および出力は、任意の便利な形式で指定できます(言語/ソリューションに最適な形式を選択してください)。
- 負の値や無効な入力を処理する必要はありません
- 完全なプログラムまたは機能のいずれかが受け入れられます。
- 可能であれば、他の人があなたのコードを試すことができるように、オンラインテスト環境へのリンクを含めてください!
- 標準的な抜け穴は禁止されています。
- これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。
ボーナス
これは公園を散歩するべきではないので(少なくとも私が考えることのできるほとんどの言語では)、以下に対してボーナスポイントが与えられます。
- コードがPeanoカーブの構築のgifを生成する場合、-100バイトまで
n
。 - コードが任意の長方形の形状に対してスペースを埋める曲線を描く場合、-100バイト(明らかにPeano曲線は正方形に対してのみ機能します)。あなたは、入力が、フォームを取ることを前提とすることができます(反復の数)前と同じ意味を持っていますが、どこと曲線を描画する矩形の長さと幅になります。の場合、これは通常のペアノ曲線になります。
n l w
n
l
w
l == w
負のスコアは許可されます(ただし、可能です...)。
編集
のソリューションにプログラムの出力を含めてくださいn == 3 (l == w == 1)
。
n
ている場合に使用することl
とw
しているにも入力??????????? そして、ペアノ曲線は特殊なケースだろう-いくつかのアルゴリズムがそれをspecialcaseする必要がありますので、それは、唯一の空間充填曲線ではありません