向计算机科学的先驱们问好


30

选择您最喜欢的著名计算机科学家或计算机科学先驱,他们出生于1942年或更早(1943年标志着“第一台”计算机的诞生)。他们应该有一个Wikipedia页面或其他网站,其中列出了他们的出生年份,并说明他们的成就与计算机科学的关系。您可以选择与其他人相同的东西,但鼓励选择新的人。

取一个他们众所周知的名字。这很可能是他们的名字和姓氏,但如果更常见,则可能包含缩写或中间名。例如,对于托尼·霍尔Tony HoareC. A. R. Hoare是可以接受的。

名称中的所有字符必须是可打印的ASCII如果名称包含无法打印的ASCII字符,则选择近似值即可。例如Kurt Godel代替Kurt Gödel

以名称中的唯一字符集(例如C. ARHoare)为例,并在科学家的出生年份之前将其向上移动到可打印的ASCII刻度,从一个~到另一个循环。(基本上以95为模添加出生年份。)这将为您(最可能)提供一组新的可打印ASCII字符。

例如,CAR Hoare于1934年出生,因此将每个字符都C. ARHoare移入1934年(34个mod 95)字符可得出ePBctj2$5(

该堆栈片段将为您完成所有转移:

function go() {var name = document.getElementById("name").value;var year = parseInt(document.getElementById("year").value);var unique = {};for (var i = 0; i < name.length; i++) { unique[name.charAt(i)] = true; } var result = ''; for (var char in unique) { result += String.fromCharCode((char.charCodeAt(0) - 32 + year) % 95 + 32); } document.getElementById("result").value = result; }
Name: <input type="text" id="name" value="C. A. R. Hoare"><br>
Birth Year: <input type="text" id="year" value="1934"><br>
<button type="button" onclick="go()">Ok</button><br>
Result: <input type="text" id="result" readonly>

挑战

使用此集合以及仅此集合(没有制表符,没有换行符)的可移位可打印ASCII字符,编写一个打印Hello, [name]!到stdout或最接近的替代字体的程序,其中[name]的名称与您在上面选择的名称相同,并被移位以获取程序字符。您可以使用集合中的多个字符,也可以完全不使用某些字符。例如,理论程序PetBee($25打印Hello, C. A. R. Hoare!

计分

分数是代码大小(以字节为单位)乘以所选名称中唯一字符的数量。最低的痛处获胜。


6
我是否选择了MuḥammadibnMūsāal-Khwārizmī,并使用一个合理的ASCII字母名称,例如Muhammad ibn Musa al-Khwarizmi,这可以接受吗?
ymbirtt 2014年

3
Rear Admiral Grace Murray Hopper, United States Navy, (Retired), Doctor of Philosophy。生于1906年。可以吗?
比尔·伍德格

2
@BillWoodger我认为这有点麻烦。我会同意的Rear Admiral Grace Murray Hopper。请记住,您的代码大小乘以名称中唯一字符的数量,因此较长的名称不一定更好。
卡尔文的爱好2014年

5
@ Calvin'sHobbies哦,天哪。以为那是我屏幕上的沙砾。
贾斯汀

2
CAR Hoare的兄弟CDR Hoare呢?
戴维·康拉德

Answers:


8

失眠103 99 98 * 8 = 784

乔治·布尔George Boole),1815年

下面的所有5个程序都具有相同的长度(98)和相同的输出。

oyoooyLyyyyoyLqoyyoyoLL*yyoLqy|oLq*yLyoyyoLqoq*yLyyLoyooLyyy*qL|yqoLq**LoooyoLqy|qLLo*qyLq*oq|L|oL
oyoooyLyyyyoyLqoyyoyoLLy*yyoLq*oqL*LqyyyoyLyooyyoLyyLoyooLyyyL*q|qoL|q*LoooyoLqyq*LLo*qyLq*o|qL|oL
oyoooyLyyyyoyLqoyyoyoLL*yyoLqy|oLq*yLyoyyoLqoq*yLyyLoyooLyyyL*qq|oL|yq*LoooyoLqyq*LLo*qyLq*o|qL|oL
oyoooyLyyyyoyLqoyyoyoLLy*yyoLq*oqL*LqyyyoyLyooyyoLyyLoyooLyyyL*q|qoL|q*LoooyoLqyq*LL|qyyLy*qq*L|oL
oyoooyLyyyyoyLqoyyoyoLL*yyoLq|oLq*yLyoyyoLyq|oLq|yq*LqooLoyyoyLyLoyyoyLoooyoLo|q|LLq|yyLooooyoLqyL

版画 Hello, George Boole!

失眠103 * 6 = 618(可能是最佳且唯一的)

如果G Boole(1815年乔治·布尔)可以接受...

ooyoyoLoyyoyoyyLyoyoooLLoyooyyLoyyyoLooyoyoooooLyoyyoLoyoyyyoLooyyyooLoyoyooooLLyyooyoyoLyoyoooLoyooooL

版画 Hello, G Boole!


失眠,94 92 89 85 83 * 10 = 830

库尔特·戈德尔(Kurt Godel),1906年。

kukuzkzjzkuxkujx{rxjkjxzjukukzj{ukukzjkrxujzujk{rxujjku{jxuukujrxzjuxjk{urxjxukzj{j

版画 Hello, Kurt Godel!

我写了一个程序来寻找解决方案。我的程序的第二个版本应该比我的第一个版本更接近最佳。

按照@MartinBüttner的nitpick(100 92 88 85个字符,相同的字符集):

kukuzkzjzkuxkujx{rxjkjxzjukukzj{ukukzjkrxujzujk{rxujju{jxuukujrxuxjzxjk{urxjxjxukzj{j

版画 Hello, Kurt Goedel!

口译员


您可以将其包含在您的答案中,并默认将其隐藏。
Optimizer

2
Nitpick:Gödel仅使用拉丁字母的正确音译为Goedel。;)
Martin Ender 2014年

@Optimizer:我也使用Insomnia给出了另一个答案,因此将其放在另一个线程上。
n̴̖̋h̷͉̃a̷̭̿h 14ẗ̵̨́d̷̰̀ĥ̷̳ 2014年

1
我知道,但是它将占用与解释器链接一样多的空间,您可以在所需的任何答案中保留该摘录。这就是摘要的目的!:)
Optimizer

15

CJam,230 117 115 114 113 110 107 106个字节×13 = 1378

23)3*c11(2#)c111(((c3*))))22 2*c32c23 3*c3))$(113))c1$)))2$)2$(32c3)))$(3)$))1($)1($)3))$)1($)1$(12$(((33c

在这里测试。

我选择了Edsger Dijkstra1930年出生的人,这给了我c#2&$1>b()* 3(我之所以真正选择了这个人,是因为他是我发现的第一个名字对CJam有用的字符;此后我检查了十二个名字,但看起来都没有希望)。

该代码基本上只使用构建ASCII码123*#(幂)和()(递减,递增),并把它们转换成一个字符c。为了保存一些字符,有时我可以使用复制一个较早的字符$0$复制顶部堆栈元素,1$复制第二到顶部堆栈元素,依此类推)。

这是将代码分解为字符的代码(这也是可运行的):

23)3*c    "(23+1)*3 -> 72 -> H";
11(2#)c   "(11-1)^2+1 -> 101 -> e";
111(((c   "111-3 -> 108 -> l";
3*)       "Turn l into string lll and split off the third l.";
)))       "l+3 -> o";
22 2*c    "22*2 -> 44 -> ,";
32c       "32 -> Space";
23 3*c    "23*3 -> 69 -> E";
3))$(     "e-1 -> d";
113))c    "113+2 -> 115 -> s";
1$)))     "d+3 -> g";
2$)       "d+1 -> e";
2$(       "s+1 -> r";
32c       "32 -> Space";
3)))$(    "E-1 -> D";
3)$))     "g+2 -> i";
1($)      "i+1 -> j";
1($)      "j+1 -> k";
3))$)     "r+1 -> s";
1($)      "s+1 -> t";
1$(       "s-1 -> r";
12$(((    "d-3 -> a";
33c       "33 -> !";

9

Marbelous,83字节* 10 = 830

我选择R Kowalski, 1941了允许我使用:{It9A+6=53

++63
A66333696A5A696A6A69
A5633A..+3+6+3+9++
A56A+I
AA+6
=3
3653666665
+I+I+6+6+A++

这比旧答案(下图)要复杂一些,因为许多弹珠都经过多个设备,但总的来说,大多数弹珠在打印之前都添加了一些东西。因为我没有减法或低数字,所以必须通过合并两个高价值的大理石通过加法来形成较低的ascii码,因为这会导致加模。(我用作=3偏转器,因为它将每个不等于3的大理石推向右侧,看起来像只可爱的猫)

输出:

Hello, R Kowalski!

旧答案:

马贝卢斯(Marbelous),113 * 17 = 1921

Marbelous可以在这里做得很好,因为从板上掉下来的大理石都被印刷了,但是由于其2D性质,它需要一些数字和一些算术才能使borad不会太大。

我选择了Philip D. Estridge, 1937谁屈服u./26EiSj9:8*-+作为可用字符集。实际使用的字符是.+-245689E

22
6865
4965686866282252686968696E2244666E65686422456E6E6E6964
--..+4+4+9+4-2-2....+4..+2-2..+9..-4+4..-2..+5+6+4

电路板非常简单,前三行是文字,每两行一组是一个十六进制值,第四行是形成ASCII码的算术运算,由于字符集的限制,这些ASCII码无法明确地写入。

输出:

Hello, Philip Donald Estridge!

您可以在这里尝试!

现在,我将寻找一个可能更好的人选,因为看起来marbelous在这里实际上可能具有竞争力。


不知道是否缩短名称被认为可以接受。
n̴̖̋h̷͉̃a̷̭̿h 14ẗ̵̨́d̷̰̀ĥ̷̳ 2014年

@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳我使用的是名字的缩写,而不是全名。
overactor 2014年

我可以G Boole使用105个字符* 6-我认为应该缩短名称的数量。
n̴̖̋h̷͉̃a̷̭̿h 15ẗ̵̨́d̷̰̀ĥ̷̳ 2014年

3
没有换行,您的程序似乎无法运行。该问题明确禁止使用换行符Using this set and only this set (no tabs, no newlines) of shifted printable ASCII characters
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ 2014年

6

Brainfuck,1846 * 12 = 22152

只是使用CJam以外的语言。需要字节字节数据类型的原始规范Brainfuck,在256处溢出。

仅使用2个字符:+增加当前单元格并.输出当前单元格。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.+++++++..+++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++.+++++++++++++++++.++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.

输出量

Hello, John McCarthy!

感谢Coredump在其答案中揭示了以下内容:

 "John McCarthy" 1927
 ("John McCarthy" "e+*;h~^|.0$5" 12)

输出似乎缺少感叹号!
trichoplax 2014年

1
@githubphagocyte谢谢,现在已修复!
级圣河

我很高兴它有所帮助。
coredump 2014年

5

“你好,尼古拉斯·埃米尔·沃思!” (Befunge-98,222×14 = 3108)

维基百科

Niklaus Emil Wirth(出生于1934年2月15日)是一位瑞士计算机科学家,以设计包括Pascal在内的多种编程语言以及开创软件工程中的多个经典主题而闻名。1984年,他因开发一系列创新的计算机语言而获得了图灵奖。

移位34,Niklaus Emil Wirth(18个字符,14个唯一字符)最终变为p,./$86Bg0,/By,57+

代码(在此处尝试):

88888888+++++++50p50g8+,50g88885+++++00pg,g7+,g7+,g55++,888866+++++,8888+++,50g68++,g886++5/+,g6+,g7+,50g88755+++++,g88++,g77++,8888+++,50g5+,g8+,g886++5/+,g7+,8888+++,50g887+++,g886++5/+,g85++,g87++,g88+5/+,g5/85++,50g00p

分解:

88888888+++++++ # Put eight '8's on the stack and add them together (ASCII 64 = `@`)
50p             # Save this value in row 0, column 5 (where the 6th '8' was)
50g8+,          # Fetch the value we just saved, add 8 and print it (ASCII 72 = `H`)
50g88885+++++   # Fetch it again and add 37 (4×8+5) (ASCII 101 = `e`)
00p             # Save this value in row 0, column 0 (the very first character)
g,              # Fetch & print this value (stack is empty, so coordinates will be zero)
g7+,g7+,        # Fetch it again, add 7 (ASCII 108 = `l`) and print. Repeat.
g55++,          # Print `o`
888866+++++,    # Print `,` (4×8+2×6=44)
8888+++,50g68++,g886++5/+,g6+,g7+,50g88755+++++,g  # Continue in a similar fashion,
88++,g77++,8888+++,50g5+,g8+,g886++5/+,g7+,8888++  # using integer division (`/`) in
+,50g887+++,g886++5/+,g85++,g87++,g88+5/+,g5/85++, # a few places
50g00p          # Fetch the `@` character and put it in cell (0,0)

最后一行在行首放置一个HALT字符(@)。当控件回绕到这一点时,程序将停止。实际上,这实际上不是必需的,因为@(5,0)处的字符仍然存在,并且在到达该字符之前不应输出任何内容。但是,如果没有,唯一的在线Befunge解释器将无法正常运行。

实际上可能使只用工作液Niklaus Wirth(12个独特的字符,p,./$86By,57+),但代码是多少,长时间。

(由于Befunge-93的宽度限制为80个字符,因此标​​记为Befunge-98。)


4

CJam,323字节* 10 = 3230

5((e5(((e2(((e2(((e2((e2c525e2e2(e2(((e2(e2((e2(((c525e5(e5(((e2(e2c2(($Be2(e2(((e2(e2e2((e2(e2e2(c2e2e2((e2e2(e2(((e2(e2c2(($((((((((((((B((((($(((((2e2(e2(e2e2((e2(((e2(e2e2((c2$2$((c2$2$525e2(((e2((e2((e2((e2e2(((e2((c2$2$22((((((($22(((((((((($22(((((($((((255((e2((e2(e2((e2(((e2((c22(((($Be2e2(e2(e2((e2(((e2(((e2(((c

输出:

Hello, C. A. R. Hoare!

CJam,662字节* 10 = 6620 8700

不是赢得胜利,而是因为看起来可能。它仅用于2e(c

2e2e2((e2e2(((e2(((e2(((e2((e2c2e2e2(((e2e2(e2(((e2(e2((e2(((c2e2e2e2((e2((e2e2(((e2(e2c2e2e2e2((e2((e2e2(((e2(e2c2e2(e2(((e2(e2e2((e2(e2e2(c2e2((e2e2((e2e2(e2(((e2(e2c2e2((e2e2((e2(((e2(((e2((e2e2c2e2((e2(((e2e2(((e2((e2(e2(((e2(c2e2(e2(e2e2((e2(((e2(e2e2((c2e2((e2e2((e2(((e2(((e2((e2e2c2e2((e2(((e2e2(((e2((e2(e2(((e2(((c2e2(e2(e2e2((e2(((e2(e2e2((c2e2((e2e2((e2(((e2(((e2((e2e2c2e2(((e2(((e2((e2((e2((e2e2(((e2((c2e2(e2(e2e2((e2(((e2(e2e2((c2e2((e2e2((e2(((e2(((e2((e2e2c2e2e2((e2e2(((e2(((e2(((e2((e2c2e2(e2(((e2(e2e2((e2(e2e2(c2e2(((e2e2(e2(((e2(e2(((e2(((e2(((c2e2e2e2(((e2((e2(e2((e2(((e2((c2e2e2(((e2e2(e2(((e2(e2((e2(((c2e2(e2e2(e2(e2((e2(((e2(((e2(((c

输出:

Hello, C. A. R. Hoare!

发电机

q{i
[7209 3113 41 41 41 9 1 0]
{
1$3^)4%@1$+@*4/\'(*\
}%W2tW%"e2"*
'c}%

简单的答案222(((((((((((c(由生成q{i222_@-'(*'c}%)具有3420个字节。


哇,我不知道您可以使用e_外部数字文字。
Martin Ender 2014年

您是否检查过重复使用可以获得多低的效果2?或者使用其他(有用的)字符B5$?(例如,你可以得到第二至第四空间,并与第二和第三期2$,还有A2$((。)
马丁安德

@MartinBüttner尝试用手打一点高尔夫球。但这似乎太复杂了。也许我以后写一个程序来做。但这无论如何不会赢。
jimmy23013

4

果酱,16 * 307 288 = 4912 4608

B(7*2+cB(B(*2(+cB(B*((cB(B*((cBB*7-(((c5 8*5(+c8 2*2*cBB*2/5+cBB*7-cBB*5-cBB*Bm5-(cBB*4-cBB*7-c8 2*2*cB7*(((cBB*7-(((cBB*Bm5-(cBB*B-c8 2*2*c8B*2+8-cBB*7-(((c7 2+B*(cBB*8 2*-cBB*B-c8 2*2*cB(7*2(+cBB*7-(((cBB*7-cB(B(*2(+cB(B*((cB(B*((c8 2*2*cB7*cBB*8 2*-cB(B*((cBB*B-cB(B(*2(+cBB*7-c5(8*1+c

显示:

Hello, Arthur John Robin Gorell Milner!

这是我使用CJam的第一个答案,因此肯定可以更好地打高尔夫球(欢迎任何提示)。


这是我使用的一些实用程序代码。由于我为其他一些名称计算了字符集,因此这对于更了解CJam的人(或者对于其他语言)可能很有用。

  • 查找字符集以及唯一字符数
(defun character-set (name year)
  (let* ((uniques (remove-duplicates name))
         (size (length uniques))
         (buffer (make-array size 
                             :element-type 'character
                             :fill-pointer 0)))
    (loop for c across uniques
          do (vector-push
              (code-char
               (+ #x20 (mod (- (+ (char-code c) year) #x20) 95)))
              buffer)
          finally (return (values buffer size)))))
  • 定义知名人物列表
(defparameter *masters*  
  '("Grace Murray Hopper" 1906
    "Augusta Ada King, Countess of Lovelace" 1815
    "Augusta Ada Byron" 1815
    "Ada Lovelace" 1815
    "John von Neumann" 1903
    "Neumann Janos Lajos" 1903
    "Charles Babbage" 1791
    "John McCarthy" 1927
    "Wilhelm Ackermann" 1896
    "George Boole" 1815
    "Kurt Godel" 1906
    "Andrei Nikolaievitch Kolmogorov" 1903
    "Bertrand Arthur William Russell, 3rd Earl Russell" 1872
    "Arthur John Robin Gorell Milner" 1934))
  • 计算允许的可打印字符集,按字符集大小排序
(sort (loop for (n y) on *masters* by #'cddr
            collect (cons n (multiple-value-list (character-set n y))))
      #'< :key #'caddr)

=>
(("George Boole" "Q|q*Lyvo" 8) 
 ("Ada Lovelace" "Kn*Vy!vkmo" 10)
 ("Kurt Godel" "Q{xz&Mujkr" 10) 
 ("John von Neumann" "Mkyr#Qhxpdq" 11)
 ("Charles Babbage" "5Zd^eq4TSYW" 11)
 ("Grace Murray Hopper" "MiS{g &Nuvkx" 12)
 ("Neumann Janos Lajos" "QhxpMq#Odmrv" 12)
 ("John McCarthy" "e+*;h~^|.0$5" 12)
 ("Augusta Ada Byron" "q }~Knk*L$|yx" 13)
 ("Wilhelm Ackermann" "Sedh{=_gani]j" 13)
 ("Arthur John Robin Gorell Milner" "c78l+t%i2Bo,/1(5" 16)
 ("Andrei Nikolaievitch Kolmogorov" "DqgQndhlwfk#Nopjury" 19)
 ("Augusta Ada King, Countess of Lovelace" "KnUsq6M x~}p*Vy!vkmo" 20)
 ("Bertrand Arthur William Russell, 3rd Earl Russell" "&R%XL;MQovH)EVc6YWIP" 20))

4

Brainf_ck-723 * 12 = 8676

我从Wikipedia的计算机科学家名单中进行了爬取并收集了其中列出的所有人的出生年月和最长的名字。我编写了一个程序来运行所有这些程序,并找到了我可以用通用语言完成的任何事情。可悲的是,我无法找到可以支持任何名称echo;alert()console.log()(我希望),printmain

我主要是想分享我的原始抓取数据,以防有人想要类似地搜索其他语言(请注意:可能不准确和不完整):抓取数据

编辑:新的爬行约40新的名字从粘贴表计算的人,并在计算机科学先锋名单

编辑:手动清理列表。

我确实发现,Ada的首席设计师让·大卫·伊奇比亚Jean David Ichbiah)(1940年)提供+-.(这样做的人中最少的三个)。我为他生成了此BF代码。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.+++++++..+++.-------------------------------------------------------------------.------------.++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++.----.+++++++++++++.------------------------------------------------------------------------------.++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.+++++++++++++++++++++.-------------.-----.--------------------------------------------------------------------.+++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++.+++++.------.+++++++.--------.+++++++.-----------------------------------------------------------------------.

Alexander Keewatin Dewdney提供了最有用的BF字符(+.<>),但略高于我的回答。我找不到提供的任何人.[]


1
某些爬网数据肯定是错误的。我遇到了莫里斯·威尔克斯爵士:他虽然老,但还不到900岁。
彼得·泰勒

我手动进行了修复,并修复了其中的一些问题,还发现很多日期机器人都没有采用。但是,没有为我带来任何新结果。
BMac 2014年

4

红宝石1.8-250×18 = 4500

p''<<24+48<<2+99<<9+99<<9+99<<22+89<<44<<4+28<<24/4+59<<22+88<<2+95<<22+94<<22+89<<9+99<<24/4+99<<24/4+99<<4+28<<24/4+59<<9+99<<2+99<<22+98<<2+99<<2+99<<24+94<<24/4+99<<99<<5+99<<4+28<<84/4+54<<2+95<<22+92<<2+95<<22+94<<84/4+94<<22+95<<98<<2+95<<4+29

可用字符:

'()+./24589:;<>Efp

输出:

"Hello, Anatolii Alexeevich Karatsuba!"

Anatolii Karatsuba出生于1937年,以其对解析数论领域(我个人非常喜欢)的贡献而闻名,其中包括Karatsuba算法,该算法可对任意精度操作数进行快速乘法。

这是我尝试的第一个也是唯一的名字。


3

GolfScript(125 * 14 = 1750)

9)99.9-&^99)).9^..)))..)~99-&.99&.99)^999)9/.(((-9-..9(/-.((9^99((.9-9-^.).9-^).)).~--999~9/.9^.((.9^99(.(.9.~-^.))..9-^))](-

在线演示

道格拉斯·恩格尔巴特Douglas Engelbart,1925年至2013年)可能以“所有演示之母”而闻名。他的名字和出生年份给出了人物!&(),-./9]^z{~,这个解决方案使用这些人物&()-./9]^~

该代码的基本结构是build list of numbers](-将大量数字放入一个从堆栈开始的空字符串的数组中,然后取出该字符串并将其与类型提升一起使用,-以将数字数组转换为字符串。

由于无法访问堆栈顶部下方的元素,因此我编写了一个C#程序来查找短片段,这些片段在堆栈顶部使用给定的整数并添加下一个所需的整数。这创造了一个小问题,当代码段69E),止带-,为片断110n)开始9:它的成本一个字符使用更长的片段进行110


2

CaneCode458 410 * 16 = 7328 6560

11111111111111111111111111111111111111111111111111111111111111111111111184111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111118111111188111841111111111111111111111111111111111111111111182222222222228331184222222222222228118111111118483322222841811111111822222828483322284111182222222222222811111111111111822222222222222811111111182222228222222281111111111118418

对应的BF:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++..+++.>++++++++++++++++++++++++++++++++++++++++++++.------------.<<++.>--------------.++.++++++++.>.<<-----.>+.++++++++.-----.-.>.<<---.>++++.-------------.++++++++++++++.--------------.+++++++++.------.-------.++++++++++++.>+.

输出:

Hello, Jack Elton Bresenham!

CaneCode只是Brainfuck的直接符号替换,分别12348与对应+-><.。我花了大约2个小时的时间来寻找能+-.正常使用Brainfuck 的简称,但没有成功。

布雷森汉姆线算法的发明者杰克·埃尔顿·布雷森汉姆Jack Elton Bresenham)出生于1937年,具有以下特征:

o')1Ej2:54g8+9.3

不幸的是,尽管5[)可用,但缺少6])意味着代码仍然必须以缓慢的方式向上递增100位数的区域(对于小写字符)。


2

> <>(鱼),163 * 15 = 2445

47*5+:56+7*+:42)+:4+55*66*:++66+6*o:4+::o7+:oo25*+o56+:4*o42*4*o6*7+o:7+7+7+o:o:25*7++o42*:4*o45+*o:45++o:o:6+:5+o6+o:o:25*7++o24*4*o25*7*4+o:o:2+o:27*+o42)+ooooo;

输出:

Hello, Ivar Hjalmar Jacobson!

由于BMac的抓取数据Ivar Hjalmar Jacobson出生于1939年,被发现。他提供字符

)*+24567:;>Gopq

> <>与Befunge一样,是一种基于2D堆栈的语言。有用的> <>命令是:

  • *+24567用于算术(请注意47将a 4和a压7入堆栈,而不是47
  • )大于(对于获得有用1
  • : 用于复制栈顶
  • o 用于输出
  • ; 用于程序终止

p反射也很不错,但是我想不出它有什么用。>是另一个> <>命令,可直接向右引导程序流,但由于程序已经按该方向执行,因此不需要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.