Saluda a los pioneros de la informática


30

Elija a su famoso informático famoso o pionero de la informática que nació en 1942 o antes (ya que 1943 marca el comienzo de la creación de la "primera" computadora ). Deben tener una página de Wikipedia u otro sitio que enumere su año de nacimiento y que explique cómo se relacionan sus logros con la informática. Puede elegir lo mismo que otra persona, pero se recomienda elegir a alguien nuevo.

Tome un nombre por el que son comúnmente conocidos. Es muy probable que sea su nombre y apellido, pero puede incluir abreviaturas o segundos nombres si eso es más común. Por ejemplo, para de Tony Hoare tanto Tony Hoarey C. A. R. Hoaresería aceptable.

Todos los caracteres del nombre deben ser ASCII imprimibles . Si el nombre contiene caracteres que no son ASCII imprimibles, está bien si elige algo aproximado. por ejemplo, en Kurt Godellugar de Kurt Gödel.

Tome el conjunto de caracteres únicos en el nombre (p C. ARHoare. Ej. ) Y cambie la escala ASCII imprimible por el año de nacimiento de su científico, dando vueltas desde el ~espacio. (Básicamente agregue el año de nacimiento módulo 95). Esto le dará un (probablemente) nuevo conjunto de caracteres ASCII imprimibles.

Por ejemplo, CAR Hoare nació en 1934, por lo que cambiar a cada personaje en C. ARHoare1934 (34 mod 95) da ePBctj2$5(.

Este fragmento de pila hará todo el cambio por ti:

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>

Reto

Usando este conjunto y solo este conjunto (sin pestañas, sin líneas nuevas) de caracteres ASCII imprimibles desplazados, escriba un programa que imprima Hello, [name]!en stdout o la alternativa más cercana, donde [name]es el mismo nombre exacto que eligió anteriormente y desplazado para obtener los caracteres de su programa. Puede usar varios caracteres del conjunto o no usar algunos. Por ejemplo, el programa teórico PetBee($25imprime Hello, C. A. R. Hoare!.

Tanteo

Su puntaje es el tamaño de su código en bytes multiplicado por el número de caracteres únicos en el nombre que elija. La llaga más baja gana.


66
Si escogiera, por ejemplo, Muḥammad ibn Mūsā al-Khwārizmī, y utilizara una información ASCII razonable de su nombre, por ejemplo, Muhammad ibn Musa al-Khwarizmi, ¿sería aceptable?
ymbirtt

3
Rear Admiral Grace Murray Hopper, United States Navy, (Retired), Doctor of Philosophy. Nació en 1906. ¿Estaría bien?
Bill Woodger

2
@BillWoodger Creo que es un poco exagerado. Aunque estaría bien con eso Rear Admiral Grace Murray Hopper. Recuerde que el tamaño de su código se multiplica por el número de caracteres únicos en el nombre, por lo que un nombre más largo no es necesariamente mejor.
Aficiones de Calvin

55
@ Calvin'sHobbies Oh, vaya. Pensé que era un grano en mi pantalla.
Justin

2
¿Qué pasa con el hermano de CAR Hoare, CDR Hoare?
David Conrad

Respuestas:


8

Insomnio, 103 99 98 * 8 = 784

George Boole , 1815

Los 5 programas siguientes tienen la misma duración (98) y la misma salida.

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

Huellas dactilares Hello, George Boole!

Insomnio, 103 * 6 = 618 (probablemente óptimo y único)

Si G Boole( George Boole , 1815) es aceptable ...

ooyoyoLoyyoyoyyLyoyoooLLoyooyyLoyyyoLooyoyoooooLyoyyoLoyoyyyoLooyyyooLoyoyooooLLyyooyoyoLyoyoooLoyooooL

Huellas dactilares Hello, G Boole!


Insomnio, 94 92 89 85 83 * 10 = 830

Kurt Godel, 1906.

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

Huellas dactilares Hello, Kurt Godel!

Escribí un programa para buscar la solución. Mi segunda versión del programa debería estar más cerca de lo óptimo que mi primera versión.

Según el nitpick de @Martin Büttner ( 100 92 88 85 caracteres, el mismo conjunto de caracteres):

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

Huellas dactilares Hello, Kurt Goedel!

Interprete


Puede incluirlo en su propia respuesta y ocultarlo de forma predeterminada.
Optimizador

2
Nitpick: la transliteración correcta de Gödelusar solo el alfabeto latino es Goedel. ;)
Martin Ender

@Optimizer: tengo otra respuesta también usando Insomnia, así que lo puse en el otro hilo.
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

1
Lo sé, pero ocupará tanto espacio como el enlace al intérprete y puede seguir incluyendo el fragmento en cualquier respuesta que desee. ¡Ese es el propósito de los fragmentos! :)
Optimizer

15

CJAM, 230 117 115 114 113 110 107 106 bytes * 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

Pruébalo aquí.

Elegí Edsger Dijkstra, nacido en 1930, lo que me da c#2&$1>b()* 3(a quien realmente elegí porque fue el primero que encontré cuyo nombre produjo caracteres útiles para CJam; he revisado una docena de nombres desde entonces y ninguno parecía tan prometedor).

El código se basa, básicamente, sólo los códigos ASCII usando 1, 2, 3, *, #(exponenciación) y (, )(decremento, incremento) y los convierte a un personaje con c. Para guardar algunos caracteres, a veces puedo copiar un carácter anterior con $( 0$copia el elemento de la pila superior, 1$copia el elemento de la pila de segundo a superior, etc.).

Aquí está el desglose del código en caracteres (esto también es ejecutable):

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

Maravilloso , 83 bytes * 10 = 830

Elegí lo R Kowalski, 1941que me permite usar:{It9A+6=53

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

Esta es un poco más compleja que la respuesta anterior (a continuación) ya que muchas canicas pasan por múltiples dispositivos, en general, la mayoría de las canicas solo tienen algunas cosas agregadas antes de imprimirse. Debido a que no tenía sustracción o números bajos, los códigos ASCII más bajos tuvieron que formarse sumando fusionando dos canicas de alto valor, ya que esto da como resultado un módulo de suma. (Lo he usado =3como deflector ya que empuja cada canica no igual a 3 a la derecha y se ve como un lindo gato)

salida:

Hello, R Kowalski!

vieja respuesta:

Maravilloso , 113 * 17 = 1921

Marbelous está bien aquí, ya que cada vez que se imprime el mármol que se cae del tablero, debido a su naturaleza 2D, necesita algunos números + algo de aritmética para no dejar que el borad se vuelva demasiado grande.

Elegí Philip D. Estridge, 1937quién cede u./26EiSj9:8*-+como el conjunto de caracteres disponible. Los caracteres realmente utilizados son.+-245689E

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

El tablero es bastante simple, las primeras 3 filas son literales, cada grupo de dos es un valor hexadecimal, la cuarta fila son operaciones aritméticas para formar los códigos ascii que no se pudieron escribir explícitamente debido a los conjuntos de caracteres limitados.

salida:

Hello, Philip Donald Estridge!

¡Puedes probarlo aquí!

Ahora buscaré un posible mejor candidato, ya que parece maravilloso en realidad podría ser competitivo aquí.


No estoy seguro si acortar el nombre se considera aceptable.
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ Estoy usando el nombre inicial en lugar del nombre completo, parece justificado.
Overactor

Puedo hacerlo G Boolecon 105 caracteres * 6: creo que debería haber un límite en la cantidad de nombre que se puede acortar.
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

3
Su programa no parece funcionar sin una nueva línea. La pregunta rechaza explícitamente el uso de un nuevo carácter de líneaUsing this set and only this set (no tabs, no newlines) of shifted printable ASCII characters
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

6

Brainfuck, 1846 * 12 = 22152

Solo por tener un idioma que no sea CJam. Requiere especificación original Brainfuck con tipo de datos de bytes, que se desborda a 256.

Solo usa 2 caracteres: +para incrementar la celda actual y .para generar la celda actual.

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

Salida

Hello, John McCarthy!

El crédito va a Coredump por revelar lo siguiente en su respuesta:

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

¡Parece que a la salida le falta un signo de exclamación!
Trichoplax

1
@ githubphagocyte Gracias, ya está arreglado!
Level River St el

Me alegra que haya ayudado.
coredump

5

"¡Hola, Niklaus Emil Wirth!" (Befunge-98, 222 × 14 = 3108)

De Wikipedia :

Niklaus Emil Wirth (nacido el 15 de febrero de 1934) es un informático suizo, mejor conocido por diseñar varios lenguajes de programación, incluido Pascal, y por ser pionero en varios temas clásicos en ingeniería de software. En 1984 ganó el Premio Turing por desarrollar una secuencia de lenguajes informáticos innovadores.

Con un turno de 34, Niklaus Emil Wirth(18 caracteres, 14 únicos) termina como p,./$86Bg0,/By,57+.

Código ( pruébalo aquí ):

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

Descompostura:

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)

La última línea coloca un carácter HALT ( @) al comienzo de la línea. Cuando el control vuelve a este punto, el programa se detendrá. En realidad, esto no debería ser necesario, porque el @carácter en (5,0) todavía está allí y no se debe mostrar nada antes de llegar a él. Sin embargo, el único intérprete en línea de Befunge que ejecutará esta monstruosidad no funcionará correctamente sin él.

En realidad, es posible hacer una solución de trabajo con solo Niklaus Wirth(12 caracteres únicos p,./$86By,57+), pero el código es mucho, mucho más largo.

(Etiquetado como Befunge-98 porque Befunge-93 está limitado a un ancho de 80 caracteres).


4

CJam, 323 bytes * 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

Salida:

Hello, C. A. R. Hoare!

CJam, 662 bytes * 10 = 6620 8700

No para ganar sino solo porque parece posible. Solo lo usó 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

Salida:

Hello, C. A. R. Hoare!

Generador

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

La respuesta trivial 222(((((((((((c(generada por q{i222_@-'(*'c}%) tiene 3420 bytes.


Wow, no sabía que podías usar e_literales de números externos.
Martin Ender

¿Ha verificado qué tan bajo puede llegar al usar repeticiones de 2? O mediante el uso de los otros caracteres (útiles) B, 5y $? (Por ejemplo, puede obtener del segundo al cuarto espacio y el segundo y tercer período con 2$, así como Acon el 2$((.)
Martin Ender

@ MartinBüttner Intentó jugar al golf un poco a mano. Pero parecía demasiado complicado. Tal vez escribiré un programa para hacer eso más tarde. Pero esto no ganará de todos modos.
jimmy23013

4

CJam, 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

Muestra:

Hello, Arthur John Robin Gorell Milner!

Esta es mi primera respuesta usando CJam, por lo que seguramente esto puede jugar mejor (cualquier sugerencia es bienvenida).


Aquí hay un código de utilidad que utilicé. Como calculé el conjunto de caracteres para algunos otros nombres, esto puede ser útil para alguien que conoce mejor CJam (o tal vez para otro idioma).

  • Encuentra el conjunto de caracteres, junto con la cantidad de caracteres únicos
(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)))))
  • Definir una lista de figuras conocidas.
(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))
  • Calcule los conjuntos de caracteres imprimibles permitidos, ordene por tamaño de conjunto
(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

Hice un rastreo de la Lista de científicos informáticos de Wikipedia y recopilé los años de nacimiento y los nombres más largos de todas las personas que figuran allí. Escribí un programa para repasar todo esto y encontrar cualquier cosa que pudiera hacer en un lenguaje común. Por desgracia, no he podido encontrar ningún nombre que podrían apoyar echo;, alert(), console.log()(lo que puedo esperar), printo main.

Principalmente quería compartir mis datos de rastreo sin procesar en caso de que alguien quisiera buscar otros idiomas de manera similar (nota: puede ser inexacto e incompleto): Datos de rastreo .

EDITAR : Nueva pasta de rastreo con aproximadamente 40 nombres nuevos de la Lista de personas informáticas y la Lista de pioneros en informática .

EDITAR : limpió manualmente la lista.

Encontré que Jean David Ichbiah (1940), diseñador jefe de Ada, proporciona +-.(la más baja de las tres personas para hacerlo). Genere este código BF para él.

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

Alexander Keewatin Dewdney proporcionó los caracteres BF más útiles ( +.<>), pero llegó un poco por encima de mi respuesta. No encontré a nadie proporcionado .[].


1
Algunos de esos datos de rastreo son definitivamente incorrectos. Conocí a Sir Maurice Wilkes: era viejo, pero no tenía 900 años.
Peter Taylor

Tomé un pase manual y arreglé algunos de esos, y también encontré muchas fechas que el bot no detectó en absoluto. Sin embargo, no saqué ningún resultado nuevo para mí.
BMac

4

Rubí 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

Personajes disponibles:

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

Salida:

"Hello, Anatolii Alexeevich Karatsuba!"

Anatolii Karatsuba , nacido en 1937, es más conocido por sus contribuciones al campo de la teoría de números analíticos (un campo que personalmente disfruto), incluido el Algoritmo de Karatsuba , un método para la multiplicación rápida de operandos de precisión arbitraria.

Este es el primer y único nombre que probé.


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-^))](-

Demostración en línea

Douglas Engelbart (1925 - 2013) es quizás el más famoso por la "Madre de todas las demostraciones" . Su nombre y año de nacimiento dan caracteres !&(),-./9]^z{~, de los cuales esta solución utiliza&()-./9]^~

La estructura básica del código es la build list of numbers](-que coloca muchos números en una matriz con la cadena vacía que comienza en la pila, luego extrae esa cadena y la usa con la promoción de tipo de -para convertir la matriz de números en una cadena.

Como no hay acceso a los elementos debajo de la parte superior de la pila, escribí un programa de C # para encontrar fragmentos cortos que toman un entero determinado en la parte superior de la pila y agregan el siguiente entero requerido. Esto creó un pequeño problema, cuando el fragmento para 69( E) terminó -y el fragmento para 110( n) comenzó con 9: le costó a un personaje utilizar un fragmento más largo para 110.


2

CaneCode , 458 410 * 16 = 7328 6560

11111111111111111111111111111111111111111111111111111111111111111111111184111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111118111111188111841111111111111111111111111111111111111111111182222222222228331184222222222222228118111111118483322222841811111111822222828483322284111182222222222222811111111111111822222222222222811111111182222228222222281111111111118418

BF correspondiente:

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

Salidas:

Hello, Jack Elton Bresenham!

CaneCode es solo una sustitución de símbolo directo de Brainfuck, donde 12348corresponde +-><.respectivamente. Pasé unas 2 horas tratando de buscar un nombre corto que le diera +-.Brainfuck normal, sin éxito.

Jack Elton Bresenham , inventor del algoritmo de línea de Bresenham y nacido en 1937, da los siguientes caracteres:

o')1Ej2:54g8+9.3

Desafortunadamente, mientras 5( [) está disponible, la falta de 6( ]) significa que el código todavía tuvo que incrementar el área de 100 ish (para caracteres en minúscula) de manera lenta.


2

> <> (Pez) , 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;

Salidas:

Hello, Ivar Hjalmar Jacobson!

Ivar Hjalmar Jacobson , nacido en 1939, fue encontrado gracias a los datos de rastreo de BMac . El provee los caracteres

)*+24567:;>Gopq

> <>, como Befunge, es un lenguaje 2D basado en pila. Los útiles> <> comandos son:

  • *+24567para aritmética (nota que 47empuja a 4y a 7en la pila, no 47)
  • )para mayor que (útil para obtener 1)
  • : para duplicar la parte superior de la pila
  • o para salida
  • ; para la terminación del programa

pTambién es bueno para la reflexión, pero no pude pensar en un buen uso para él. >es otro comando> <>, que dirige el flujo del programa hacia la derecha, pero como el programa ya se ejecuta en esa dirección, no era necesario.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.