4
Hツリーディレクトリ
プログラマーは、多くの場合、フラクタルを描くことに夢中です。新しいコンピューターベースのメディアが必要だと思います。 Hツリーは、水平線と垂直線からなるフラクタルのかなり単純なタイプです。これは、10回目の繰り返しです(ウィキペディア提供): ここで、イメージの各行が標準的なコンピューターファイルシステムのディレクトリ(フォルダー)であると想像してください。最も小さい線を除くすべての線は、それよりも小さい2本の線と交差します。これら2つの小さな行は、大きな行のサブディレクトリです。したがって、中央の大きな水平線は、画像内の残りの行の親、祖父母などである2つの最大の垂直線の親ディレクトリです。 チャレンジ stdinまたはコマンドライン(または最も近い代替)を介して正の整数Nを取り込み、HツリーフラクタルのN番目の反復をミラーリングするディレクトリツリーを作成するプログラムを作成します。 最初の反復(N = 1)は単一の水平線です。後続の各反復で、垂直線または水平線の新しいセットが現在の行の最後に追加されます。したがって、N = 2の場合、2本の垂直線が追加され(H形状を作成)、N = 3の場合、4本の水平線が追加されます。 ルートディレクトリの名前は常にtree。サブディレクトリの名前は、使用して、彼らは彼らの親線に対してである方向に一致している必要がありright、left、upとdown。 ルートディレクトリは常に水平線であるので、それは常に持っていますrightし、leftサブディレクトリ。しかし、これら二つは持っているだろうupし、downサブディレクトリ、およびそれらを持つことになりますrightし、leftそうで再び、と。 反復制限の終わりのディレクトリは空でなければなりません。 例 N = 3の場合、ディレクトリツリーは次のようになります。 tree right up down left up down 追加情報 理想的には、treeディレクトリはソースコードと同じフォルダにポップアップしますが、作業ディレクトリに移動しても問題ありません。 あなたがtree作成される場所に既存のディレクトリは存在しないと仮定するかもしれません。 プログラムは常に同じ一般的な最新のオペレーティングシステム(Mac / Windows / Linux)で実行されると仮定できます。基本的に、すべてのOSで機能しないファイル区切り文字の使用について心配する必要はありません。 得点 これはコードゴルフなので、バイト単位の最短コードが優先されます。