基于此:让我成为正方形!
您需要输出以下内容:
####
# # #
### #
# # #
####
其中将“#”替换为输入。
如果输入“ A”,您应该得到
AAAA
A A A
AAA A
A A A
AAAA
如果输入“&”,则应该得到
&&&&
& & &
&&& &
& & &
&&&&
排行榜
这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。
基于此:让我成为正方形!
您需要输出以下内容:
####
# # #
### #
# # #
####
其中将“#”替换为输入。
如果输入“ A”,您应该得到
AAAA
A A A
AAA A
A A A
AAAA
如果输入“&”,则应该得到
&&&&
& & &
&&& &
& & &
&&&&
这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。
Answers:
ð‚•nxвΛ•2вèJ6ô»
说明
ð‚ # push the list [<input>,<space>]
•nxвΛ• # push the number 816342339
2в # convert to list of base 2 digits
è # index into the the 2-char string with this list
J # join to string
6ô # split into pieces of length 6
» # join on newlines
•nxвΛ•bTRð¹ì‡6ô»
...由于订购要求,您的节拍略有音译;如果我能找到一种隐式获取输入并01
以1字节生成字符串的方法,那将是13/14字节的解决方案。
•nxвΛ•bT𹫇6ô»
或ð«T•nxвΛ•br‡6ô»
长度相同。
./v<.o;.@?/;w.w;i:::::NrSs::SrSuUS::sN::rS:r:srNr:SrSsNs:::SSv
这适合4个多维数据集:
. / v <
. o ; .
@ ? / ;
. . w ;
i : : : : : N r S s : : S r S u
U S : : s N : : r S : r : s r N
r : S r S s N s : : : S S v . .
. . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
我不太擅长操纵指令指针的方向,因此我将继续尝试并进行高尔夫球运动。无论这一点,我的答案在这里是基于“你好,世界!” 示例程序使用./v.o;@?/
(在3个多维数据集上)递归地打印并弹出堆栈上的字符,因此其余代码只是按照正确的顺序将字符推入堆栈。
现在,我在一个立方体上制作了一个立方体,因此我可以轻松一点(并做我的实际工作)。
Βū&⁵'r⁹‘6n
说明:
Βū&⁵'r⁹‘ push " ŗŗŗŗ ŗ ŗ ŗŗŗŗ ŗŗ ŗ ŗ ŗŗŗŗ", where "ŗ" is replaced with input
6n split into lines of length 6
感谢Conor O'Brien删除了3个字节,并向我展示了可以在Octave中使用不可打印的内容。
该代码包含不可打印的字符。在线尝试!
'....' % Push 5-char string (contains unprintables). Each char encodes a row
% of the desired pattern
B % Convert to binary. Gives a 5×6 binary matrix with the pattern
* % Implicit input. Multiply element-wise (converts input to ASCII code)
c % Convert to char. Implicitly display. Char 0 is shown as space
echo 0f15392a3c|xxd -r -p|clip
。在Windows上clip
是剪贴板。然后我就粘贴了它们:P(如果您在命令行^O^U
中也是如此)
"OUyj|"®c ¤Åd0S1U +R
对于没有内置压缩的语言来说还不错(很好,除了压缩小写字母的字符串外)...
以二进制形式,字符串中的五个字符为:
O 1001111
U 1010101
y 1111001
j 1101010
| 1111100
1
从每个切片中切出最初的切片,就可以得到立方体的图案。
"OUyj|"® c ¤ Å d0S1U +R
"OUyj|"mZ{Zc s2 s1 d0S1U +R} // Expanded
// Implicit: U = input string
"OUyj|"mZ{ } // Replace each character Z in this string with this function:
Zc // Take the char-code of Z.
s2 // Convert to a binary string.
s1 // Slice off the first character (always a "1").
d0S1U // Replace "0"s with spaces and "1"s with the input.
+R // Append a newline.
// Implicit: output result of last expression
ll
可以压缩),但是它长了11个字节。
I HAS A c
GIMMEH c
VISIBLE" "AN c AN c AN c AN c AN":) "AN c AN" "AN c AN" "AN c AN":)"AN c AN c AN c AN" "AN c AN":)"AN c AN" "AN c AN" "AN c AN":)"AN c AN c AN c AN c
在LOLCODE中,高尔夫并不多...
这会将变量设置c
为输入,并创建一个包含:)
换行符的巨型串联字符串。就是这样
expected HAI at: I
tio.run/nexus/...
假定一个内存映射的I / O设备:
; 不要输入空格,否则它将进入无限循环的打印空间和换行符! 3A xx xx ld a,(输入); 获取输入字符 11 0A 20 ld de,200ah; 空格和换行符 21 yy y ld hl,输出;获取输出地址 4F ld c,a; 将字符放在c中 环: 72 ld(hl),d; 输出空间* 2 | 输出字符* 2 72 ld(hl),d 77 ld(hl),a;输出字符| 输出字符 71 ld(hl),c; 输出字符* 2 | 输出空间* 2 71 ld(hl),c 77 ld(hl),a;输出字符| 输出字符 73 ld(hl),e; 输出换行符| 输出换行符 72 ld(hl),d; 输出空间| 输出字符 71 ld(hl),c; 输出字符| 输出空间 72 ld(hl),d; 输出空间| 输出字符 71 ld(hl),c; 输出字符| 输出空间 72 ld(hl),d; 输出空间| 输出字符 B9 cp c; 设置零标志第一次 第二次清除 20 06 jr nz,结束;跳到结束 77 ld(hl),a;输出字符 73 ld(hl),e; 输出换行符 4A ld c,d; 在c中放置空格 57 ld d,a;将字符放入d 28 FB jr z,循环; 循环到第二次 结束: 73 ld(hl),e; 输出换行符 77 ld(hl),a;输出字符* 4 77 ld(hl), 77 ld(hl), 77 ld(hl), 76停顿; 或C9 ret
4äl2>>Äyvho3pÄÙ3älWx<<3Îd^
十六进制转储:
00000000: 34e4 6c32 3e3e c479 7668 6f1b 3370 c4d9 4.l2>>.yvho.3p..
00000010: 33e4 6c57 783c 3c33 ce64 5e 3.lWx<<3.d^
o<esc>
用ï
我这样做只是为了好玩,因为已经有了更好的PHP答案。
for($i=0;$i<27;)echo('00'.decbin(64349871))[$i]?$argn:' ',++$i%6?'':'
';
通过获取由64349871
连接的的二进制值来绘制立方体'00'
。
这将返回以下内容:
0011110101011110011010101111
每第6个字符,我输出一个换行符,结果是:
001111
010101
111001
101010
1111
并且,0
它不显示而是显示一个空间,该空间看起来像:
1111
1 1 1
111 1
1 1 1
1111
SβGH7+↗→³β→G↓↙³β
在线尝试!链接是详细版本的代码。比我想要的更长,因为“立方体”比它的高或深略宽。幸运的是,某些多向字符可与PolygonHollow一起使用,这为我节省了3个字节。编辑:通过使用+代替T↑保存了另一个字节。说明:
Sβ Input the character
GH7+↗→³β Draw the left half. 7 becomes ←↙ and + becomes →↓←↑.
→ Move right one character.
G↓↙³β Draw the right half.
在挑战之时,该q
变量在详细模式下不起作用,否则我可以创建此14字节版本:
GH7+↗→³θ→G↓↙³θ
i;v;f(g){for(i=32;i--;)putchar((v="####*@#@#@#*#@@###*#@#@#@*####@@"[i])&1?g:v-32);}
在线尝试!定义一个f
接受字符的函数g
。直接对表进行编码太糟糕了...
(仍然尝试打高尔夫球)
尝试只有一个putchar
,但idk。有不可打印的内容,因此这里是十六进制转储:
λ xxd try-to-make-a-cube.c
00000000: 693b 6a3b 6628 6729 7b63 6861 722a 6b3d i;j;f(g){char*k=
00000010: 220f 1539 2a3c 223b 666f 7228 693d 303b "..9*<";for(i=0;
00000020: 693c 353b 7075 7463 6861 7228 3130 292c i<5;putchar(10),
00000030: 692b 2b29 666f 7228 6a3d 3332 3b6a 3b6a i++)for(j=32;j;j
00000040: 2f3d 3229 7075 7463 6861 7228 6b5b 695d /=2)putchar(k[i]
00000050: 266a 3f67 3a33 3229 3b7d &j?g:32);}
这会将多维数据集编码为二进制查找表,其中1
一位代表输入,0
一位代表空格。在线尝试!
(((((((((((((((((({}))))<([][]()())>)<(([][])[]{}())>)<(([][]){})>)<([])>)<(((()
())[][]{}()()))>)))<((()()()()()){})>)<(((()()()){}){}()[])>)<(((()()())()){}{}[
])>)<(((()()())){}{}[])((()()()()()){})>))))(([]()()()))
Waaaaay时间太长。
"pjFUC"{i2b(;}%rS+ff=N*
我觉得我仍然可以打高尔夫球。
"pjFUC" e# String literal: │ "pjFUC"
{ e# For each: │ 'p
i e# Get code point: │ 112
2b e# To binary: │ [1 1 1 0 0 0 0]
(; e# Delete first: │ [1 1 0 0 0 0]
}% e# End │ [[1 1 0 0 0 0] [1 0 1 0 1 0] [0 0 0 1 1 0] [0 1 0 1 0 1] [0 0 0 0 1 1]]
r e# Read token: │ [[1 1 0 0 0 0] [1 0 1 0 1 0] [0 0 0 1 1 0] [0 1 0 1 0 1] [0 0 0 0 1 1]] "&"
S e# Push space: │ [[1 1 0 0 0 0] [1 0 1 0 1 0] [0 0 0 1 1 0] [0 1 0 1 0 1] [0 0 0 0 1 1]] "&" " "
+ e# Concatenate: │ [[1 1 0 0 0 0] [1 0 1 0 1 0] [0 0 0 1 1 0] [0 1 0 1 0 1] [0 0 0 0 1 1]] "& "
ff= e# Vectorized array lookup: │ [" &&&&" " & & &" "&&& &" "& & & " "&&&& "]
N* e# Join with newlines │ " &&&&
e# │ & & &
e# │ &&& &
e# │ & & &
e# │ &&&& "
e# Implicit output
稍加优化即可直接对序列进行编码:
8224PdPdPdPdP10Pd8192+ddPPP10PdPdPdP8224PdP10Pd256*32+ddPPP10PdPdPdPdP
极端(不是很复杂),145个字节:
27065671941896667324298575455432398417474802390765222440949482848513*56759961956005660143530475805610581704254588701249011343446231795984498688+P
这将计算A*x+B
,其中A
对输入字符的位置进行B
编码,并对其余所有字符进行编码:
A = 2560 + 2561 + 2562 + 2563 + 2565 + 2567 + 2569 + 25611 + 25614 + 25615 + 25616 + 25618 + 25620 + 25622 + 25625 + 25626 + 25627 + 25628
B = 10×256 4 + 32×256 6 + 32×256 8 + 10×256 10 + 32×256 12 + 32×256 13 + 10×256 17 + 32×256 19 + 32×256 21 + 32×256 23 + 10×256 24 + 32×256 29 + 32×256 30
P
命令将结果数字打印为字节流。
@echo %1%1%1%1
@echo %1 %1 %1
@echo %1%1%1 %1
@echo %1 %1 %1
@echo %1%1%1%1
特殊字符。安全,97个字节:
@echo ^%1^%1^%1^%1
@echo ^%1 ^%1 ^%1
@echo ^%1^%1^%1 ^%1
@echo ^%1 ^%1 ^%1
@echo ^%1^%1^%1^%1
.. %1%1%1%1\n %1 %1 %1...