En particular, use cada uno de estos símbolos al menos una vez en su código fuente:
! " # $ % & ' () * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
Los símbolos dentro de comentarios, literales de cadena, expresiones regulares (o cualquier otro tipo de literales, etc.) no cuentan (pero sus delimitadores como /**/
o ""
sí cuentan).
El programa no debe realizar ninguna acción. Solo tiene que compilar y no hacer nada cuando se ejecuta.
Si por alguna razón algunos de los símbolos no se pueden usar en el idioma de su elección, explíquelos rigurosamente (qué y por qué deben excluirse).
Actualización: algunas respuestas usaron símbolos con expresiones regulares. Consideraría esto un poco problemático, es lo mismo que ponerlos en literales de cadena o comentarios (es por eso que puse etc. en ese requisito). Por favor intente sin esto. También actualicé el requisito anterior.
Actualización: el código más corto gana (etiquetado como code-golf ). Como se sugirió, lo más probable es que necesitemos algunos criterios de desempate. Sugiero que si hay un empate, el ganador es aquel en el que los símbolos ASCII aparecen lo más ordenados posible. Formalmente: filtre la primera aparición de cada uno de los símbolos enumerados de un programa. Esto dará como resultado una permutación en los símbolos enumerados. El programa con menos número de inversión de su permutación gana.
Actualización: me encantaría ver algunas / más soluciones en lenguajes regulares / convencionales, como C (++), Java, Scala, Haskell, etc.
#
, @
y `no son legales fuera de ningún tipo de literal
@%
ni el backtick puede aparecer en c excepto como parte de un literal (en versiones suficientemente nuevas de c%
puede aparecer en dígrafos). (y#
solo aparece en las directivas de preprocesador, pero tendremos que vivir con eso)? Es decir, pido que el enfoque de Matt se haga explícitamente legal.