レンガの壁を作ってください!


73

チャレンジ

レンガの壁を作るのに助けが必要です!入力を使用せずにいくつかのコードをまとめて、以下に示す次の出力ウォールを生成します。

_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

現在、この壁は10文字の高さと70文字の幅とまったく同じです。

上記のように、入力はなく、コードのみです。最小バイト数、このレンガの壁を効率的に構築する必要があります。明らかに、このプログラムは壁を構築するために機能する必要があります。または明らかにそれ自体を構築しません!幸運を!


勝者

勝者は、言語を使用してマリヌスに行きAPL12バイトを必要とします! https://codegolf.stackexchange.com/a/99028/61857


参加してくれてありがとう!



8
関連も。(今日、これが発生するはずです、ハハ)
コナーオブライエン

1
それで大丈夫です。通訳ができたらお知らせします。私は今、実際に取り組んでいます:)
ETHproductions


30
ボーナスポイントについては、メキシコに支払いをさせます。
ダウッドイブンカリーム

回答:


46

APL、12バイト

10 70⍴'_|__'

出力:

      10 70⍴'_|__'
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

1
Jの回答を入力すると、この回答に気付きました。それらは基本的には同じです
コナーオブライエン

2
これは、アスキーの壁に加えて他の何かを出力します。これは許可されていますか?
バッファーオーバーリード

tryapl.orgを使用すると、ウォール出力が得られました。@TheBitByteは何を受け取りましたか?
ファイブピクセル

4
@Dylan彼はおそらく混乱している、なぜなら回答者はAPLのREPLの性質を知らずに出力にプログラムを含めたからだ。
コナーオブライエン

191

Trumpscript303の 285 244 231 226バイト

make i 1000005-1000000
as long as,i;:
make i,i - fact;
say "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
say "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"!
America is great

これは、ほとんどすべてが動作するプログラムにコンパイルできない最も冗長な言語の1つです。

どうやら-代わりに動作するかどうかminusは完全にインタープリター次第であり、時には動作します。今回はそれをやったので、ゴルフのように入れています。

TrumpscriptがPythonで書かれているという事実を悪用するためfact、整数として使用する場合は1です。

ゴルフのヒントを歓迎します。


48
Trumpscriptは1,000,000未満の数字を許可しませんか?;-)
ETHproductions

3
あなたは正しいです。
ブルー

2
i is 1000005-1000000and を使用できますi is i-factか?(ちょうどトランプスクリプトのreadmeを見てください。)
AlexRacer

19
あなたが使えることに驚きました1000000ドキュメント状態All numbers must be strictly greater than 1 million. The small stuff is inconsequential to us.
マッド物理学者

9
Fact及びlies(および他の真実/偽の定数)、では動作しないように見えた理由かもしれ(tokenizer.py、検索flip_flopを参照してください)トークン化の際にプ(逆転させること)を反転するには、ランダムな、時間ベースのチャンスを持ってminus、本当にそれがしなければならなかったとき、factその時点で
pinkfloydx33


18

BBC BASIC、28バイト

トークン化されたファイルサイズ23バイト。

WIDTH70P.STRING$(175,"_|__")

WIDTH70通常は改行が続きます。フィールド幅を70に設定します。次に、文字列の175コピーを印刷します。


2
私が見たWIDTHの最高の(ab)使用:)
ElPedro

この場合、ヘッダーに「23バイト」が必要です。
アダム

@Adámトークン化されたバージョンが回答として投稿された場​​合のみ。
エリック

17

Brainfuck、171バイト

+++++[>+++++++++++++++++++<-]+++++++[>>++++++++++++++++++<<-]>>--<<++[>>>+++++<<<-]+++++[>.>.>>+++++++++++++++++[<<<...>.>>-]<.>+++++++++++++++++[<<<...>.>>-]<<<..>>.<<<-]

Brainfuckは楽しいです。ここに私の投稿があります。

出力は次のとおりです。

_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

これを試すためのリンクがあります

https://repl.it/EW2Z/0


16

WinDbg、45バイト

f2000000 L2bc 5f 7c 5f 5f;da/c46 2000000 L2bc

使い方:

f 2000000 L2bc 5f 7c 5f 5f; *Repeat the pattern _|__ (5F 7C 5F 5F) to fill 2BC (700) bytes 
                            *starting at 2000000
da /c46 2000000 L2bc        *Show 2BC (700) ASCII chars starting from 2000000 in lines 
                            *of length 0x46 (70)

出力:

0:000> f2000000 L2bc 5f 7c 5f 5f;da/c46 2000000 L2bc
Filled 0x2bc bytes
02000000  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
02000046  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"
0200008c  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
020000d2  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"
02000118  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
0200015e  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"
020001a4  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
020001ea  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"
02000230  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
02000276  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"


10

Python 2、37バイト

s="_|__"*17;print(s+"_|\n__%s\n"%s)*5

2つの行を、の17個のコピーと_|__、改行で中断された別のコピー、さらに17個のコピー、および別の改行として分解します。

より長い代替案:

print"%s_|\n__%s\n"%(2*("_|__"*17,))*5

s="_|__"*17;print"%s_|\n__%%s\n"%s%s*5

for i in[0,2]*5:print("_|__"*18)[i:i+70]

print("_|__"*17+"_|\n"+"___|"*17+"__\n")*5

for s in["_|__","___|"]*5:print(s*18)[:70]

s="_|__"*99;exec"print s[:70];s=s[2:];"*10

print("%s"*70+"\n")*10%(175*tuple("_|__"))

最後の選択肢はprint(("%s"*70+"\n")*10%(175*(*"_|__",)))Python 3のように短くなります。
。– mbomb007


7

PHP、44 42 41文字

<?=chunk_split(str_pad(_,700,"|___"),70);

chunk_split()これまでに使用する機会がなかったからです。)

おかげで:

  • 使用することを提案するためのuser59178str_pad()(-1文字)

サンプル実行:

bash-4.3$ php <<< '<?=chunk_split(str_pad(_,700,"|___"),70);'
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

文字数ではなくバイト数。
ファイブピクセル

2
同じ。マルチバイト文字は使用していません。
マナトワーク


2
@ pajonk、PPCGで修正-マシン上でユーザースタイル44消すi.stack.imgur.com/czn5h.png
manatwork

str_pad代わりにを使用してバイトを保存できます。str_repeatこれ_は主にvalueを持つ定数として扱われるためです_
user59178

7

Vim、 30 24 19キーストローク

18a___|<esc>YP2x}h.yk4P

貴重なキーストロークを節約してくれたDrMcMoylexとnmjcman101に感謝します!


1
いい答え、サイトへようこそ!いくつかのヒント:1)aカウントが必要なので18a___|<esc>、マクロを作成する代わりに行うことができます。2)<cr>通常モードではに相当するj0ため、2番目のマクロから1バイトを削除できます。
DJMcMayhem

クール、ヒントをありがとう!
karpfen

1
私はあなたのソリューションを少しだけ楽しんでみました。コピー/貼り付けの前に壁をフォーマットすると、マクロを作成しない場合のすべてのバイトが節約されます18a___|<esc>YP2x}h.yk5P。19バイトです。
nmjcman101

いいですね、答えを更新します!最後から2番目のキーを4に置き換えるだけです。そうしないと、壁が高くなりすぎます:)
karpfen

6

Perl、47 34 29バイト

$_="_|__"x175;say for/.{70}/g

29までゴルフできますsay for("_|__"x175)=~/.{70}/g
ダダ

何らかの理由で、それを試すたびに何も出力されませんでしたが、同じバイト数で別の解決策を見つけました。ありがとう、結構です!
ガブリエルベナミー16年

さて、私が提案したコードは有効な出力を生成します...たぶん括弧の"_|__"x175ようなものを忘れていたのでしょうか?
ダダ

それがそれだと思う。カッコはどこかに行かなければならないと思ったので、どこに行けばいいかわからなかった、笑
ガブリエル・ベナミー

Huhu、すべての演算子の優先順位を覚えるのは難しい(=~より優先順位が高いx)!
ダダ

5

Perl、31バイト

say+($@="_|__"x17,"_|
__$@
")x5

-E実行するにはフラグが必要です:

perl -E 'say+($@="_|__"x17,"_|
__$@
")x5'

29バイトの場合は少し異なるアプローチの考え:say for("_|__"x175)=~/.{70}/g:)。私はあなたがそこで使ったトリックが好きです!
ドムヘイスティングス

@DomHastings huhu、Gabriel Benamyの答えのコメントにまったく同じコードを書きました!
ダダ

ど!それを見なかった!また、それが他の回答で多く使用されいるのを見ました。
ドムヘイスティングス

@DomHastingsええ、私は最初はそれを考えていませんでした、そしてそれはすでにガブリエルの答えにあったので、それで私は答えを更新しませんでした;)
ダダ

5

V24、16のバイト

175i_|__ò70|lé

オンラインでお試しください! これには<esc>文字(0x1B)が含まれているため、ここにhexdumpがあります。

0000000: 3137 3569 5f7c 5f5f 1bf2 3730 7c6c e90a  175i_|__..70|l..

ヨルダンのおかげで8バイトが間接的に保存されました!


19バイト:v.tryitonline.net/…しかし、V docsに記載されている.\{-}ショートカットの使用方法がわかりませんでした。
ヨルダン

@ジョルダンうわー、とても素敵!\{-}あなたは内部の番号を変更することはできませんので、ショートカットが、とにかく動作しません。ただし、代わり\{これを取得するには、上のビットを設定できます。回答として自由に投稿してください。
DJMcMayhem

ああ、それは理にかなっています。ここに投稿:codegolf.stackexchange.com/a/99070/11261
ヨルダン

くそー、私はまだこの言語を
理解

5

V、18バイト

DJMcMayhemのおかげで-1バイト。

175i_|__<Esc>Ó.û70}/°ò

ここでは、xxd形式の印刷できない文字を使用しています。

0000000: 3137 3569 5f7c 5f5f 1bd3 2efb 3730 7d2f  175i_|__....70}/
0000010: b0f2                                     ..

オンラインでお試しください!


いいですね、Vを使用したのは私だけではありません!今、私はリードを取り戻すことができるかどうかを確認する必要があります、
ハハ

5

MATL、15バイト

'_|__'700:)70e!

もちろん、オンラインで試すことができます! 説明:

'_|__' % Put a brick on the stack
700    % 700 times
:)     % Makes a happy mason...
70e!   % Secret freemason code

実際、次のように機能します。

'_|__' % Put the first bit of the string on the stack
700:   % Put 1, 2, ..., 700 on the stack as array
)      % Index into the string, modularly. Result: '_|___|__ ... __'
70e    % Reshape into 70 rows (and consequently, 10 columns)
!      % Transpose to get the desired output.

よくやった!そして、あなたのスマイリーは私のものよりも優れています
ルイスメンドー

@LuisMendo本当に、スマイリーの使用はMATLのデザインパターンと考えることができます。xDさんはおそらく、あなたが持っている可能性が:)C(別の理由があるかである...それはあなたの最後の1バイトのコードポイントなくなってしまうC使用されていない?)
Sanchises

スマイリーを取り除きたいですか?:-P
ルイスメンドー

5

パイソン2、46の 44バイト

文字列の乗算を使用して文字列を作成し、スライスして正しいビットを取得するだけです:)

k='_|__'*18
print'\n'.join([k[:70],k[2:]]*5)

Antony Hatchkinsに2バイトを節約してくれてありがとう:)


2バイト少なくなる可能性があります:print'\n'.join([k[:70],k[2:]]*5)
アントニーハッチキンズ

@AntonyHatchkinsありがとう!
ケード

4

PowerShell v2 +、34 30バイト

'_|__'*175-split"(.{70})"-ne''

を必要とする愚かな正規表現マッチングアルゴリズムは、-ne''5バイトを無駄にします!

'_|__'*175-split"(.{70})"-ne''
'_|__'*175                     # Repeat this string 175 times
          -split"       "      # Split on this regex pattern:
                  .{70}        # Match any character 70 times
                 (     )       # Encapsulated in parens so we keep the regex results
                         -ne'' # But don't select the empty strings
                               # Output with newlines via Write-Output is implicit

Conorのおかげで4バイト節約されました!


.{70}TEH正規表現のための任意の短いもの?
コナーオブライエン

split他の言語でもそのように動作します-あなたがそれらを望むかどうかにかかわらず、あなたは常に比類のない部分を取得します。一部の言語には、match一致する結果のみの配列を返すために使用できる演算子がありますが、それに相当するPowerShellはありません。
ニール

@Neil Performing 'abc'-split'(.)'はを返し('','a','','b','','c','')ます。比類のないものはありませんが、アルゴリズムが入力文字列を処理する方法により、空の文字列が返されます。こちらをご覧ください
AdmBorkBork

はい、私はあなたがその結果に驚いてはいけないと言っています、なぜならそれはスプリットがすることになっているからです。
ニール

@ニール驚いた?いいえ、そうでもありません。しかし、私はそれについて満足しなければならないという意味ではありません。:D
AdmBorkBork

4

C、131 115 113 103 97 95バイト

i,j;main(){for(;i<10;puts(i++&1?"|__":"|"))for(j=0;j<18-(i&1);printf(&"|___"[j++?0:i&1?1:3]));}

これをゴルフを始める時間...

_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

3

ゼリー、14 バイト

“_|__”ṁ700s70Y

TryItOnline!

どうやって?

“_|__”ṁ700s70Y - Main link: no arguments
“_|__”         - literal ['_','|','_','_']
      ṁ700     - mould like something 700 long
          s70  - split into chunks of length 70
             Y - join with line feeds

1
定義上、JellyはJより長くすることはできません。
Adám16年

私は奇妙なことなく似たようなことをしました“_|__”ẋ175œs⁵Y(14バイト)
エリックアウトゴルファー



3

Javascript REPL、45バイト

"_|__".repeat(175).match(/.{70}/g).join("\n")

1
PPCGへようこそ!これは、「JavaScript REPL」または同様のものとしてマークする必要があります。これは、インタラクティブコンソール環境以外では何も印刷しないためです。
マーティンエンダー

1
これは45バイトではありませんか?
アクロリス

私は、\を数えてn個の単一バイトとして、正しい@daHugLenny
フアンTonina

console.logはどこにありますか?
カルデオール

1
限り、あなたは、あなたがテンプレートの文字列を使用することができます(私はそれだと思う)ES6を使用しているようなので、join("\n")参加となり、<バッククォート> <リテラル改行> <バッククォート>
スティーブン・

3

JavaScript(ES6)、48バイト

f=(n=350)=>n?(n%35?'_':`
_`)+"|_"[n%2]+f(n-1):""

再帰だから。


3

バッシュ、44、41、40のバイト

printf _\|__%.0s {1..175}|egrep -o .{70}

printfは1行を700文字にし、egrepは一度に70文字と一致させます。





2

ルビー、30バイト

このソリューションのmanatworkに感謝

puts ("_|__"*175).scan /.{70}/

ルビー、39バイト

10.times{|i|puts ("_|__"*18)[i%2*2,70]}

2
ここでも、すべてを分割して生成するアプローチが短くなりますputs ("_|__"*175).scan /.{70}/
マナトワーク

@manatworkどうもありがとう!scan正規表現に慣れていないので、使用することはめったにありません。あなたが知っているあなたは...あなた自身の答えとしてあることを掲載している可能性が
レベル川セント

2

Haskell、56 47バイト

unlines$[1..5]>>take 70.cycle<$>["_|__","___|"]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.