Aquí hay una lista de los 118 elementos (actuales) de la tabla periódica (en un fragmento de pila contraído para su conveniencia):
Nota: Esta lista se encontró ejecutando el siguiente código JavaScript en esta página de Wikipedia :[].slice.call($('.wikitable:first tr td:nth-child(3)').map(function(){return this.innerText})).slice(1,-1).join('\n')
Su desafío es generar tantos como sea posible, en tantos idiomas como sea posible. ¡Este objetivo se complica aún más por el hecho de que los elementos radiactivos están carcomiendo lentamente a los personajes utilizables restantes a medida que avanza!
Reglas
Su respuesta consistirá en 1 a 95 fragmentos de código.
Cada fragmento de código debe estar en un lenguaje de programación diferente. Para el propósito de este desafío, estoy usando una definición muy flexible de "lenguaje": cualquier cosa que no sea compatible con versiones anteriores es un idioma diferente. Por ejemplo, si todo el código Lang A funciona en Lang B pero Lang B agrega más, entonces se consideran el mismo idioma. Pero Python 2 y Python 3 se consideran diferentes, porque
print 'foo'es válido en Python 2 pero no en Python 3.El primer fragmento de código puede usar algunos o todos los 95 caracteres ASCII imprimibles. En el segundo fragmento, un personaje ASCII de su elección estará prohibido. En el tercer fragmento, ese personaje más uno más de tu elección debe estar prohibido. Y así. Las pestañas y las nuevas líneas nunca están prohibidas.
El carácter prohibido debe haber sido utilizado en el fragmento anterior, no en un comentario, cadena literal, etc .; en realidad debe ser interpretado por el compilador / intérprete. Por ejemplo, si mi primer fragmento es
print 'Hydrogen', no puedo&prohibirlo porque no lo usé. Mis opciones son cualquiera de los caracteresp,r,i,n,t,, o'(No puedo usarH,y,d, ... porque esas son en un literal de cadena). A partir de ese momento, el personaje que elijas no podrá aparecer en ningún fragmento posterior.Cada fragmento de código debe generar un elemento único de la tabla periódica (que se encuentra en la lista anterior). La "salida" se puede hacer por cualquier método que desee: STDOUT, un cuadro de alerta (por ejemplo, en JS), REPL "salida" (tenga en cuenta que si incluye comillas, no es válido), escribir en un archivo, etc.
No debe tomar ninguna entrada, o una cadena vacía como entrada (para idiomas como sed).
No puede usar funciones integradas que devuelven el nombre del elemento (por ejemplo,
ElementDataen Mathematica).
Formateo
Formatee su respuesta con el siguiente formato:
### 1. Language A - none forbidden
code
Optional commentary on this snippet goes here.
### 2. Language B - `a` forbidden
code
More optional commentary
### 3. Language C - `ab` forbidden
code
More optional commentary
etc.
Si los backticks ( `) están prohibidos, simplemente use dos backticks alrededor de la lista. Por ejemplo, ``ab`cd``resultará en ab`cd. (Si el backtick es el primer o el último carácter, también debe rellenar los backticks externos con espacios; ej. `` abc` ``-> abc`.)
Puntuación
La respuesta con la mayoría de los lenguajes de programación ganará. En caso de empate, la respuesta con el recuento de caracteres acumulativo más pequeño de todos los programas ganará.
Esta pregunta fue inspirada por esto.
fuente

cout<<"Hydrogen";en C ++? ¿Necesitamos incluirincludes en el código? ¿Un programa necesita imprimir una nueva línea después del nombre del elemento?Respuestas:
95 idiomas (¡todos los caracteres utilizados!)
(TODO: un par de respuestas más que he planeado pero no implementado)
1. COBOL - prohíbe
AImpresiones
Ununtrium.2. REBOL - prohíbe
BImpresiones
Tellurium.3. aC - prohíbe
^Impresiones
Strontium.4. D - prohíbe
DImpresiones
Ruthenium.5. Java - prohíbe
EImpresiones
Aluminium.6. Scala - prohíbe
FImpresiones
Plutonium.7. Óxido - prohíbe
GImpresiones
Americium.8. Nim - prohíbe
&Impresiones
Neptunium.9. C # - prohíbe
CImpresiones
Neodymium.10. Burlesque - prohíbe
%Impresiones
Manganese.11. Nemerle - prohíbe
IImpresiones
Magnesium.12. Ada - prohíbe
JImpresiones
Palladium.13. Ir - prohíbe
|Impresiones
Germanium.14. K - prohíbe `` `
Impresiones
Ytterbium.15. Erlang - prohíbe
/Impresiones
Beryllium.16. Prolog - prohíbe
:Impresiones
Berkelium.17. Smalltalk - prohíbe
KImpresiones
Lanthanum.18. PARI / GP - prohíbe
LImpresiones
Potassium.19. REXX - prohíbe
MImpresiones
Tungsten.20. LilyPond - prohíbe
NImpresiones
Flevorium.21. Arc - prohíbe
QImpresiones
Antimony.22. LISP común - prohíbe
RImpresiones
Tantalum.23. Clojure - prohíbe
UImpresiones
Selenium.24. Logo - prohíbe
ZImpresiones
Scandium.25. Groovy - prohíbe
WImpresiones
Samarium.26. Asíntota - prohíbe
XImpresiones
Rubidium.27. Octave - prohíbe
YImpresiones
Yttrium.28. gnuplot - prohíbe
VImpresiones
Vanadium.29. Cometa - prohíbe
zImpresiones
Nobelium.30. Ardilla - prohíbe
_Impresiones
Nitrogen.31. Curry - prohíbe
vImpresiones
Lutetium.32. Fortran - prohíbe
qImpresiones
Thallium.33. Pascal - prohíbe
lImpresiones
Francium.34. PHP - prohíbe
kImpresiones
Fluorine.35. Haskell - prohíbe
SImpresiones
Sodium.36. C ++ - prohíbe
~Impresiones
Actinium.37. ObjC - prohíbe
jImpresiones
Hydrogen.38. Lua - prohíbe
gImpresiones
Astatine.39. JavaScript - prohíbe
bAlertas
Chlorine.40. Bash - prohíbe
hImpresiones
Osmium.41. Cian - prohíbe
oImpresiones
Hassium.42. J - prohíbe
dImpresiones
Titanium.43. Esquema: prohibe
xImpresiones
Vanadium.44. C - prohíbe
{Impresiones
Uranium.45. FORTH - prohíbe
mImpresiones
Thorium.46. BÁSICO - prohibe
TImpresiones
Tin.47. Perl 6 - prohíbe
yImpresiones
Terbium.48. Asdf - prohíbe
aImpresiones
Arsenic. Generando guión .49. Tcl - prohíbe
sImpresiones
Silicon.50. Perl - prohíbe
;Impresiones
Rhodium.51. Python - prohíbe
rImpresiones
Chromium.52. WARP - prohíbe
=Impresiones
Rhenium.53. ETA - prohíbe
nImpresiones
Bromine.54. Axo - prohíbe
\Impresiones
Thulium.55. Ruby - prohíbe
tImpresiones
Europium.56. DBFV! - prohíbe
uImpresiones
Niobium. Cada espacio es en realidad una nueva línea.57. Ratón - prohíbe
'Impresiones
Mercury.58. Word - prohíbe
fImpresiones
Cadmium.59. Ftack - prohíbe
$Impresiones
Lithium.60. WASD - prohíbe
eIntroducimos el concepto de la solución trivial Brainfuck (TBS): podemos imprimir cualquier carácter en 257 comandos Brainfuck incrementando el acumulador c veces, produciéndolo y luego incrementándolo (256- c ) más veces para restablecerlo. Repitiendo esto para cada carácter en la cadena produce la solución. Cada vez que tenemos dos subprogramas
iyoque funcionan exactamente igual que Brainfuck de+y., llamamos a los TBS traducidos al (i,o) -TBS.En lugar de ajustar, podríamos establecer el acumulador a cero después de imprimir usando algún subprograma
o'. Esta es la TBS (i,o') cero a cero.Alternativamente, podríamos no tener un ajuste sino un subprograma
dque disminuya el acumulador. Esta es una de la (i,o,d-TBS).Para WASD a (
w,e) -TBS imprimeSilver.61. URSL - prohíbe
wA (
i1,w1,c1) -TBS impresionesKrypton.62. Emmental - prohíbe
#Impresiones
Iridium.63. Owl - prohíbe
?Impresiones
Sulfur.64. RUBE - prohíbe
)Impresiones
Holmium.65. Headsecks - prohíbe
(A (
(,") -TBS imprimeBohrium.66. FALSO - prohíbe
[Impresiones
Gallium.67. Betterave - prohíbe
-Impresiones
Hafnium.68. Kipple - prohíbe
>Impresiones
Fermium.69. GolfScript - prohíbe
]Impresiones
Dubnium.70. FlogScript - prohíbe
"Impresiones
Calcium.71. OOo CODE - prohíbe
pA (
PpP,PPp) -TBS imprimeBismuth.72. dc - prohíbe
PImpresiones
Cadmium.73. Capuirequiem - prohíbe
OImpresiones
Radium.74. BitChanger - prohíbe
}Impresiones
Cobalt.75. Vrejvax - prohíbe
<Impresiones
Cerium.76. Fueue - prohíbe
HImpresiones
Polonium.77. Pi - prohíbe
6Ejecute
bf2pidesde el artículo wiki sobre una solución trivial Brainfuck para imprimirXenon.78. CJam - prohíbe
5A (
1+,c 0) TBS -zeroing (con0antepuestas) impresionesNickel.79. Wordfuck - prohíbe
9A (
9999,99) -TBS imprimeCarbon.80. Lenguage - prohíbe
7Ver 91-94 (uso exclusivo
7) ImpresionesRadon.81. Binaryfuck (hexadecimal) - prohíbe
4Impresiones
Barium.82. CaneCode - prohíbe
8A (
1,8) -TBS imprimeIodine.83. Numberwang - prohíbe
3Se imprime A (
2,3) -TBSIndium, pero2disminuye en lugar de aumentar , por lo que primero resta cada código de caracteres de 256.84. ferNANDo - prohíbe
2Impresiones
Argon.85. Unefunge-98 - prohíbe
@Precediendo
0a un (1+,,0) -Ceroing TBS, y anexando@, impresionesHelium.86. Whirl - prohíbe
1Precediendo
One Load Zeroa un (Add,AscIO Zero) cero impresiones TBSBoron.87. ReverseFuck - prohíbe
,UN (
-,,) -TBS imprimeErbium.88) Brainfuck - prohíbe
+UN (
+,.) -TBS imprimeCurium.89) Deadfish ~ - prohíbe
cUn (
icimprime , ) -TBSCopper.90 Iota - prohíbe
iCalculamos una decodificación de base de 256 de número de iglesia para
Zincpara compensar la falta de IO de Iota. DefinirEntonces la solución es 1516858978 repeticiones de
succseguidas de*ii, para una longitud total de 69775512991 bytes.Programas unarios
Las siguientes cuatro soluciones (y 70) son similares: todas consisten en aproximadamente 3 ^ (257 * 4 * 3) repeticiones del personaje que prohíben (excepto que Elipsis es tres veces más largo). El valor exacto se decide convirtiendo el TBS a octal como se describe en la wiki.
91. Puntos suspensivos : prohibe
.Impresiones
Neon.92. Extático - prohíbe
!Impresiones
Lead.93. MGIFOS - prohíbe
*Impresiones
Iron.94. Unario - prohíbe
0Impresiones
Gold.95. Espacio en blanco : prohíbe el espacio
El programa Whitespace generado por este script Python:
impresiones
Oxygen.fuente
x", realmente quiero decir "lo usaxy prohíbe para las próximas soluciones". La cadena se volvió inmanejable de lo contrario.51 idiomas
Podría agregar a esto más tarde, pero aquí hay 51 idiomas.
1. Java: ninguno prohibido
2. C ++ -
Jprohibido3. C -
JQprohibido4. D -
JQWprohibido5. Nimrod -
JQWzprohibido6. Fortran-95 -
JQWzqprohibido7. Lote -
JQWzqYprohibido8. Befunge -
JQWzqY%prohibidoSalida de polonio.
9. Vala -
JQWzqY#%prohibido10. Bash -
JQWzqY#%@prohibido11. ECMAScript 6 -
JQWzqY#%@~prohibido12. Perl 5 -
JQWzqY#%@~`prohibido13. Scala -
JQWzqY#%@~`_prohibido14. Perl 6 -
JQWzqY#%@~`_:prohibido15. Python 2 -
JQWzqY#%@~`_:jprohibido16. Python 3 -
JQWzqY#%@~`_:jLprohibido17. PHP -
JQWzqY#%@~`_:jLKprohibido18. Pascal -
JQWzqY#%@~`_:jLK$prohibido19. POGAACK -
JQWzqY#%@~`_:jLK$XprohibidoImprime Hidrógeno.
20. VACA -
JQWzqY#%@~`_:jLK$XgprohibidoImprime Plutonio.
21. Blub -
JQWzqY#%@~`_:jLK$XgMprohibidoImprime Flerovium.
22. ¡Ook! -
JQWzqY#%@~`_:jLK$XgMBprohibidoImprime Americio.
23. Ruby -
JQWzqY#%@~`_:jLK$XgMB!prohibido24. Lua -
JQWzqY#%@~`_:jLK$XgMB!?prohibido25. R -
JQWzqY#%@~`_:jLK$XgMB!?*prohibido26. Esquema -
JQWzqY#%@~`_:jLK$XgMB!?*Uprohibido27. TI Basic -
JQWzqY#%@~`_:jLK$XgMB!?*U)prohibido28. REXX -
JQWzqY#%@~`_:jLK$XgMB!?*U)(prohibido29. BÁSICO (Yabasic) -
JQWzqY#%@~`_:jLK$XgMB!?*U)(Zprohibido30. Pyth -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZIprohibido31. CJam -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|prohibido32. GolfScript -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\prohibido33. Brainfuck -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/prohibidoToma una cadena vacía como entrada.
34. Haskell -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,prohibido35. Deadfish -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[prohibidoUno de los pocos fragmentos de código para generar una nueva línea después.
36. Rebmu -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]prohibido37. Tcl -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]Pprohibido38. Había una vez un pez llamado Fred -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"prohibidoImprime selenio.
39. BrainFNORD -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"FprohibidoImprime Nitrógeno.
40. Texto -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Flprohibido41. J -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Flnprohibido42. Pi -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'prohibidoImprime tantalio.
43. Marbelous -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.prohibidoImprime cloro. Esto se basa en el uso de espacios para celdas vacías. Intérprete maravilloso
44. ADN # -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.}prohibidoImprime talio.
45. oOo -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.}GprohibidoImprime Bromo.
46. ABC -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.}GOprohibidoImpresiones de estaño. Tenga en cuenta que los intérpretes en esolang no están disponibles. Sin embargo, la implementación de 4chan escrita en Scheme funciona (# 59).
47. WASD -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.}GOCprohibidoImprime itrio.
48. Super Stack! -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.}GOCwprohibidoImprime arsénico.
49. Golunar -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.}GOCwsprohibidoImpresiones de litio.
50. Unario -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.}GOCws1prohibidoLa fuente se
0repiteveces.
Imprime Hassium.
51. Lenguage -
JQWzqY#%@~`_:jLK$XgMB!?*U)(ZI|\/,[]P"Fln'.}GOCws10prohibidoLa fuente se
>repiteveces.
Imprime Bohrium.
La mayoría de los idiomas extraños utilizados se pueden encontrar en la wiki de esolangs .
Tenga en cuenta que todos los fragmentos de brainfuck (y derivados de brainfuck) se escribieron teniendo en cuenta las células de 8 bits.
fuente
2era bastante extraño para el lenguaje Pi, así que lo ejecuté en mi intérprete ( migl.io/projects/pi ), en realidad regresaª·ÄÊcnw.2se repite mucho ya que para cualquier dígito de pi mayor o igual que3, representa+. El código Pi utilizado en mi respuesta requiere celdas de 8 bits (comienza disminuyendo 0) y produce la salida correcta en el intérprete en la página de esolang para Pi .2024 idiomasAquí hay algo para hacer rodar la pelota. Decidí hacer los elementos en orden porque no conozco suficientes idiomas para que el orden importe mucho.
1. C # - ninguno prohibido
2. PHP -
Wprohibido3. QBasic -
W$prohibido4. Script por lotes de Windows:
W$?prohibido5. Brainf *** -
W$?&prohibidoSalidas de boro.
6. C ++ -
W$?&+prohibido7. Befunge -
W$?&+<prohibidoSalidas Nitrógeno.
8. Bash -
W$?&+<@prohibido9. Sisi -
W$?&+<@>prohibido10. C -
W$?&+<@>9prohibido11. Lisp común -
W$?&+<@>9,prohibido12. Zephyr -
W$?&+<@>9,#prohibido13. Prolog -
W$?&+<@>9,#\prohibido( Prueba aquí )
14. Java -
W$?&+<@>9,#\:prohibido15. Golfscript -
W$?&+<@>9,#\:.prohibido16. Pyth -
W$?&+<@>9,#\:.]prohibido17. ActionScript -
W$?&+<@>9,#\:.]|prohibido18. PowerShell -
W$?&+<@>9,#\:.]|;prohibidoAfortunadamente, los comandos de PowerShell se pueden escribir en minúsculas, evitando lo prohibido
W.19. JavaScript -
W$?&+<@>9,#\:.]|;-prohibido20. Python 3 -
W$?&+<@>9,#\:.]|;-"prohibido21. Python 2 -
W$?&+<@>9,#\:.]|;-"(prohibido22. Perl -
W$?&+<@>9,#\:.]|;-"('prohibido23. Ruby -
W$?&+<@>9,#\:.]|;-"('{prohibido24. CJam -
W$?&+<@>9,#\:.]|;-"('{!prohibidoSalidas de cromo.
)Se utilizaron incrementos para evitar el 9 prohibido en 109 (m).fuente
sed: -e expression #1, char 0: no previous regular expression- tal vez intentes/./Beryllium/os/^/Beryllium/?echo -n | sed -e 's/^/Beryllium/'). Puedo reemplazarlo con otra cosa.23 idiomas
Me propuse superar la respuesta de 20 idiomas ... y ahora no puedo molestarme en disparar por 52.;)
1. Mathematica - ninguno prohibido
2. Rubí -
Jprohibido3. Python 2 -
JKprohibido4. Python 3 -
JKQprohibido5. PHP -
JKQXprohibido6. Julia -
JKQXVprohibido7. JavaScript -
JKQXVOprohibido8. CoffeeScript -
JKQXVOYprohibido9. C -
JKQXVOYqprohibido10. C ++ -
JKQXVOYqZprohibido11. Matlab -
JKQXVOYqZxprohibido12. Perl -
JKQXVOYqZxwprohibido13. Perl 6 -
JKQXVOYqZxwkprohibido14. Java -
JKQXVOYqZxwkfprohibido15. Marbelous -
JKQXVOYqZxwkfvprohibidoImpresiones
Dysprosium.16. Lua -
JKQXVOYqZxwkfvDprohibido17. Octava -
JKQXVOYqZxwkfvDGprohibida18. Óxido -
JKQXVOYqZxwkfvDGFprohibido19. Fortran -
JKQXVOYqZxwkfvDGFEprohibido20. CJam -
JKQXVOYqZxwkfvDGFEpprohibido21. Golfscript -
JKQXVOYqZxwkfvDGFEpHprohibido22. Pyth -
JKQXVOYqZxwkfvDGFEpHUprohibidoCreo que esto debería ser
23. Brainfuck -
JKQXVOYqZxwkfvDGFEpHUIprohibidoImpresiones
Beryllium.fuente
202126 idiomasBien, veamos si puedo hacer algo fuera de esto, ni siquiera tratando de aspirar al primer puesto ... si puedo obtener 20 idiomas sin ningún error, estaré más que feliz.
1. JAVA - ninguno prohibido
Impresiones
Hydrogen.2. Pascal -
JprohibidoImpresiones
Helium.3. C -
JPprohibidoImpresiones
Lithium.4. PHP -
JPfprohibidoImpresiones
Beryllium.5. C # -
JPf?prohibidoImpresiones
Boron.6. PROLOG -
JPf?WprohibidoImpresiones
Carbon- probado aquí .7. JavaScript -
JPf?W'prohibidoImpresiones
Nitrogen.8. LOLCODE -
JPf?W'=prohibidoImpresiones
Oxygen.9. Befunge '93 -
JPf?W'=KprohibidoImpresiones
Fluorine- probado aquí .10. Visual Basic -
JPf?W'=K@prohibidoImpresiones
Neon.11. HTML5 -
JPf?W'=K@MprohibidoImpresiones
Sodium: inspiradas en esta respuesta .12. Brainfuck -
JPf?W'=K@M&prohibidoImpresiones
Magnesium- probadas aquí .13. JSFuck -
JPf?W'=K@&M<prohibidoImpresiones
Aluminium- probadas aquí .14. Bash -
JPf?W'=K@&M<[prohibidoHuellas dactilares
Silicon.15. Ensamblaje NASM -
JPf?W'=K@&M<[!prohibidoImpresiones
Phosphorus- probadas aquí .16. D -
JPf?W'=K@&M<[!$prohibidoHuellas dactilares
Chlorine.17. Fortran '95 -
JPf?W'=K@&M<[!$dprohibidoImpresiones
Argon- probadas aquí .18. Lua -
JPf?W'=K@&M<[!$d*prohibidoImpresiones
Sulfur- probado aquí .19. Golfscript -
JPf?W'=K@&M<[!$dtprohibidoImpresiones
Potassium- probado aquí .20. Perl 5 -
JPf?W'=K@&M<[!$*dUprohibidoImpresiones
Calcium- probado aquí .21. Nimrod -
JPf?W'=K@&M<[!$*dUuprohibidoImpresiones
Scandium.22. Python -
JPf?W'=K@&M<[!$*dUuhprohibidoImpresiones
Titanium.23. Unlambda -
JPf?W'=K@&M<[!$*dUuh;prohibidoImpresiones
Iron. - Probado aquí .24. Adelante -
JPf?W'=K@&M<[!$*dUuh;`prohibidoImpresiones
Cobalt- probado aquí .25. Lua -
JPf?W'=K@&M<[!$*dUuh;`\prohibidoImpresiones
Nickel- probadas aquí26. Emoticon -
JPf?W'=K@&M<[!$*dUuh;`\pprohibidoImpresiones
Zinc- probadas aquíOh bueno, creo que es suficiente para mí.
fuente
s/Nytrogen/Nitrogen/g; de lo contrario, buen trabajo (y accesorios para usar Pascal, Fortran y Assembly).