回应模式 - No.67825190


No.67825190 - 技术宅


你好世界无名氏No.67825190 返回主串

2026-01-08(四)22:55:46 ID:vslNeW2 回应

突然想到了一个很好玩的游戏:

写一个输出 Hello World 的程序,但程序的源码中不允许出现 HeloWrd 这几个字母(像 C 这些包括头文件/函数名等)。

由于我平时写 APL/J/K 比较多,所以先写了一个用 K (https://en.wikipedia.org/wiki/K_(programming_language)) 的解:

m@n:~/.../projects/tmp$ ngnk
`c$"Qnuux)`x{um"-9
"Hello World"

不知道其它语言有没有更短的解法゚ ∀゚)ノ

无标题无名氏No.67842672

2026-01-11(日)17:22:06 ID: vslNeW2 (PO主)

>>No.67839999

研究了下 uiua,感觉好有意思,感谢(=゚ω゚)=

无标题无名氏No.67842682

2026-01-11(日)17:23:44 ID: vslNeW2 (PO主)

继续写点其它语言的解:

dc: 16i48P65P6CP6CP6FP20P57P6FP72P6CP64P

emacs lisp:
"\110\145\154\154\157\040\127\157\162\154\144"

以及来点瑟图()

无标题无名氏No.67857396

2026-01-13(二)19:36:47 ID: vslNeW2 (PO主)

写了 C 的解法:

// -std=c89
main(){puts("\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64");}

另一个用了编译器拓展的解:

int p() __asm__("\160\162\151\156\164\146");
int main(){p("\110\145\154\154\157\040\127\157\162\154\144");}

无标题无名氏No.67928329

2026-01-23(五)17:46:21 ID: vslNeW2 (PO主)

>>No.67925146

好文明,试着写了:

int main() {
int s4[0,4];
int k = 1 + (1 << 8) + (1 << 16) + (1 << 24);

s0[0,0] = 71 + (100 << 8) + (107 << 16) + (107 << 24);
s1[0,1] = 110 + (31 << 8) + (86 << 16) + (110 << 24);
s2[0,2] = 113 + (107 << 8) + (99 << 16) + (255 << 24);

s0[0,0] = s0[0,0] + k;
s0[0,1] = s0[0,1] + k;
s0[0,2] = s2[0,2] + k;

puts(s);
}