En particulier, utilisez chacun de ces symboles au moins une fois dans votre code source:
! " # $ % & ' () * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
Les symboles à l'intérieur des commentaires, des littéraux de chaîne, des expressions régulières (ou tout autre type de littéral, etc.) ne comptent pas (mais leurs délimiteurs tels que /**/
ou ""
comptent).
Le programme ne doit effectuer aucune action. Il suffit de compiler et de ne rien faire lors de son exécution.
Si, pour une raison quelconque, certains symboles ne peuvent pas être utilisés dans la langue de votre choix, expliquez-le rigoureusement (ce qui et pourquoi doivent être exclus).
Mise à jour: quelques réponses utilisaient des symboles contenant des expressions régulières. Je considérerais cela un peu problématique, c'est la même chose que de les mettre dans des chaînes de caractères ou des commentaires (c'est pourquoi je mets etc. dans cette exigence). Veuillez essayer sans cela. J'ai également mis à jour l'exigence ci-dessus.
Mise à jour: gain de code le plus court (étiqueté comme code-golf ). Comme suggéré, nous aurons probablement besoin de quelques critères de départage. Je suggère que s'il y a égalité, celle gagnante est celle dans laquelle les symboles ASCII apparaissent le plus ordonnés possible. Formellement: filtrer la première occurrence de chacun des symboles répertoriés d'un programme. Cela se traduira par une permutation sur les symboles répertoriés. Le programme avec moins de nombre d'inversion de sa permutation gagne.
Mise à jour: je serais heureux de voir des solutions / plus dans les langages ordinaires / traditionnels, tels que C (++), Java, Scala, Haskell, etc.
#
, @
et `ne sont pas légaux en dehors de toute sorte de littéral
@%
ni le backtick peut apparaître en c sauf dans le cadre d'un littéral (dans des versions suffisamment nouvelles de c%
peut apparaître dans les digraphes). (et#
n'apparaît que dans les directives du préprocesseur, mais nous devrons simplement vivre avec cela)? Autrement dit, je demande que l'approche de Matt soit explicitement rendue légale.