これと次のチャットに触発された:
あなたの仕事は以下を出力することです:
_ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/
キューブの外観を変更しない限り、余分な先頭または末尾の空白を使用できます。通常どおり、関数から上記または文字列のリストを返すことは許可されています。
これはcode-golfなので、バイト単位の最短回答が勝ちです!
これと次のチャットに触発された:
あなたの仕事は以下を出力することです:
_ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/
キューブの外観を変更しない限り、余分な先頭または末尾の空白を使用できます。通常どおり、関数から上記または文字列のリストを返すことは許可されています。
これはcode-golfなので、バイト単位の最短回答が勝ちです!
回答:
Y=Q∫+ZΔ○H!╝Ηūf⅟Ξ∆׀Æģ≠a⁶‘6«n
悲しいことに、パレンドロマイゼーションバージョンqE½Dε▒2β[}█O%q‘6«n╬∑
は実際には機能しません
F³⁺⁺×\_³×\/⁻³ι¶ ‖M↑×_ ³
オンラインでお試しください!リンクは、コードの詳細バージョンです。あまり炭火ではありません。‖M↓
意図的にカーソルを移動することに気づかなかったので、元々試してみましF³«P⁺×/_³×/\⁻³ι↗»‖M↓×_ ³
たが、機能しなかったので、逆さまにしようとしていたのです。もっとチャコール-yが欲しいならG↗³←⁶↘³/\¶\/G↖³←⁷↘³_\¶\_↘‖M↑×_ ³
、32バイト試してください:オンラインで試してみてください!
">knknknk//>k>knknknk/>k>k>knknknkk>k>k>n>n>n>k>k>n>n>n>/k>n>n>n>//n/n/n///"01.
of-
編集3:文字「」(ascii 25)を使用できることがわかりました-現在、プロセスはすべてのスタック項目から15個を取り出して印刷します。また、余分な方向指示を削除し、すべてを1移動(01.)に置き換えました。
i=7
while i:k=min(i,7-i);i-=1;print' '*(3-k)+'\/___ '[i/3::3]*3+k*'\//\\'[i>2::2]
@KevinCruijssenはこれを提案しました...
@HyperNeutrinoと@WheatWizardのおかげで-4バイト
出力ハードコーディングソリューション:
print(r""" _ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/""")
または、98バイト:
print(" _ _ _\n /_/_/_/\\\n /_/_/_/\/\\\n/_/_/_/\/\/\\\n\_\_\_\/\/\/\n \_\_\_\/\/\n \_\_\_\/")
ダムPython 3ノンハードコーディングサミング、ゴルフできることを確認してください。驚いたことに、for
1つのループで2つのsを圧縮する方が長くなります。
p=print;p(' '*3+"_ "*3)
for i in range(3):p(abs(2-i)*' '+'/_'*3+'/'+i*"\/"+'\\')
for i in range(3):p(i*' '+'\\_'*3+'\\'+"/\\"*abs(2-i)+'/')
print(' '*3+"_ "*3,'\n'+'\n'.join(abs(2-i)*' '+'/_'*3+'/'+i*"\/"+'\\'if i<3else (i-3)*' '+'\\_'*3+'\\'+"/\\"*abs(i-5)+'/'for i in range(6)))
o->" _ _ _\n /_/_/_/\\\n /_/_/_/\\/\\\n/_/_/_/\\/\\/\\\n\\_\\_\\_\\/\\/\\/\n \\_\\_\\_\\/\\/\n \\_\\_\\_\\/"
ハードコーディングされた出力。
o=>@"...
置き換えること\n
ができます。
o=>@" _ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/"
_¶ /_/\¶ /_/V\¶/_/VV\¶\_VVV¶ \_VV¶ \_V
._
$&$&$&
V
\/
オンラインでお試しください!説明:最初の段階では、単純に次のものが作成されます。
_
/_/\
/_/V\
/_/VV\
\_VVV
\_VV
\_V
次に、2番目のステージですべての_
sと前の文字を3回繰り返して展開し、3番目のステージでV
sを\/
sに変換します。
„_ 3×Âð'/:3F„/\«∞2ä`RˆD}\)¯R«.c
説明
„_ 3× # push the string "_ _ _ "
 # push a reversed copy
ð'/: # replace spaces with slashes
3F # 3 times do
„/\« # append "/\"
∞ # mirror
2ä` # split into 2 separate parts on stack
Rˆ # reverse the second part and push to global list
D # duplicate the remaining part
} # end loop
\) # discard the last copy and wrap stack in a string
¯R # push the global list and reverse it
« # append to the rest of the list
.c # pad lines to equal length
代替の31バイトソリューション
„ _3×3FDð'/:„/\«∞2ä`R.Á})ÀÀÀ.c¦
ÀÀÀ
その代替バージョンで[O_O"]
...
-Stephen Sのおかげで2バイト、余分なスペースが削除されました
CSSは実際にはプログラミング言語ではないため、これが重要であるかどうかは正確にはわかりませんが、技術的には、CSSはスタンドアロンであり得ます<html>
。
html:after{content:' _ _ _ \A /_/_/_/\005c\A /_/_/_/\005c/\005c \A /_/_/_/\005c/\005c/\005c \A \005c_\005c_\005c_\005c/\005c/\005c/ \A \005c_\005c_\005c_\005c/\005c\/\A \005c_\005c_\005c_\005c /';white-space: pre;}
Stephen Sの-1バイト、余分なスペースの削除
html:after{font-family:'Courier';content:' _ _ _ \A /_/_/_/\005c\A /_/_/_/\005c/\005c \A /_/_/_/\005c/\005c/\005c \A \005c_\005c_\005c_\005c/\005c/\005c/ \A \005c_\005c_\005c_\005c/\005c\/\A \005c_\005c_\005c_\005c /';white-space: pre;}
:
sおよび{}
S
"/ _\"•₁7æ¤ÝI}?ÕR&Ü•4вè4ôJ€∞ø¨»
Emignaとは100%異なる方法。
編集:すでに転置されたパターンで開始する場合、3バイトをカットできます。
"/ _\" # Push ASCII-art characters used.
•₁7æ¤ÝI}?ÕR&Ü•4в # Push transposed version of base-4 pattern.
è # Replace all digits in base-4 number with appropriate symbol.
4ô # Split into groups of 4.
J # Join together.
€∞ # Mirror each row (technically column).
ø # Transpose back.
¨» # Remove the extra "_ _ _", and print with newlines.
_=>String.raw` _ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/`
@Shaggyのおかげで-9バイト
_=>` _ _ _
${a=`/_/_/_/\\`}
${a}/\\
${a}/\\/\\
${b=`\\_\\_\\_\\/`}\\/\\/
${b}\\/
${b}`
_=>` _ _ _
/_/_/_/\\
/_/_/_/\\/\\
/_/_/_/\\/\\/\\
\\_\\_\\_\\/\\/\\/
\\_\\_\\_\\/\\/
\\_\\_\\_\\/`
7.times{|i|puts' '*(j=i^i/4+3)+'_ \_/_'[-i/3*2,2]*3+'/\/'[i/4,2]*j^=3}
最新の編集:の代わりに\
文字列を囲むことにより、double を避けます。''
""
Ungolfed(Rubyの負の文字列インデックスはラップアラウンドに注意してください。-1
最後の文字です。)
7.times{|i| #7 lines.
puts" "*(j=i^i/4+3)+ #Print j= 3,2,1,0, 0,1,2 spaces.
"_ \\_/_"[-i/3*2,2]*3+ #Print 3 repeats of 2 characters from the string, index 0,-2,-2,-2,-4,-4,-4.
"/\\/"[i/4,2]*j^=3 #Print 2 characters from the string, /\ or \/, repeated 3^j times.
}
@echo _ _ _
@echo /_/_/_/\
@echo /_/_/_/\/\
@echo /_/_/_/\/\/\
@echo \_\_\_\/\/\/
@echo \_\_\_\/\/
@echo \_\_\_\/
かなり自明です。
これがまだかどうかは定かではありませんが、私は退屈し、sh * tsと笑いのためにそれをしました:)
++++++++[->++++>++++>++++>++++<<<<]+++++[->>+++>+++>+++<<<<]<+++[->+++++<]>[->>>+++>+++<<<<]>>>>+++<<<...<+++[->.>>>.<<<<]<<++++++++++>+++++++++++++.<.>>>..>.<<+++[->>>>.<<.<<]>>>.<<<<.<.>>>.>.<<+++[->>>>.<<.<<]>>>.<.>.<<<<.<.>>>>.<<+++[->>>>.<<.<<]>>>.<.>.<.>.<<<<.<.>>>>>.<<<+++[->>>>.<.<<<]>>.>.<.>.<.<<<.<.>>>.>>.<<<+++[->>>>.<.<<<]>>.>.<.<<<.<.>>>..>>.<<<+++[->>>>.<.<<<]>>.<<<.<.>>
編集:TIL:私はオンラインで見つけたいくつかの発電機よりも54.28%有効です^。^
Edit2: オンラインで試すオプションでメモリオーバーフロー動作のラップがオンになっていることを確認します
Compiled with open-cobol. Note that the indentation is a single tab, not spaces, even if this website formats it that way.
IDENTIFICATION DIVISION.
PROGRAM-ID. a.
PROCEDURE DIVISION.
DISPLAY " _ _ _".
DISPLAY " /_/_/_/\".
DISPLAY " /_/_/_/\/\".
DISPLAY "/_/_/_/\/\/\".
DISPLAY "\_\_\_\/\/\/".
DISPLAY " \_\_\_\/\/".
DISPLAY " \_\_\_\/".
STOP RUN.
say" _ _ _";$r[7-$_]=($r[$_]=$"x(3-$_).'/_'x3 .'/\\'x$_.$/)=~y|/\\|\\/|r for 1..3;say@r
print r""" _ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/"""