Vous devez écrire un programme qui effectue l'une des actions suivantes.
- N'affiche que "Hello World" ne fait rien d'autre
- Quitte et rien d'autre (pas de sortie, pas d'erreurs.)
- Prend une ligne d'entrée, l'analyse en tant qu'entier, affiche le premier nombre de nombres premiers (ou donne une belle erreur si une entrée ne peut pas être analysée en tant qu'entier ou est inférieure à 0.)
- Étant donné une ligne d'entrée, il analyse son symbole boursier et vérifie en ligne la valeur actuelle du stock et sa variation.
Le hic, il ne devrait pas être évident quelle fonction il remplit. À savoir, pour quelqu'un qui regarde votre code, il ne devrait pas être évident quelle fonction il fera. En outre, il ne peut exécuter et ne peut exécuter qu'une seule fonction (il ne peut pas choisir). La qualité d'un programme est déterminée par le degré d'incertitude de quelqu'un qui le regarde quant à sa fonction et aussi par sa familiarité. personne est avec cette langue.
BONUS: Si vous le faites de manière intelligente, bien que pour n'importe quel compilateur / intrprète et plate-forme, le programme exécutera également la même fonction, différents compilateurs / interprètes ou plates-formes, il exécutera une fonction différente. Ce bonus ne peut être collecté que s'il est malin.
BONUS: Si votre programme ne contient que du code capable d'une fonction (ne rien enregistrer, car le code vide en est capable), et qu'il n'est pas possible de faire une simple modification sans rapport avec la fonction pour lui permettre d'exécuter une fonction différente. Par exemple: si vous l'avez fait
obfuscatedBool = 1g8uhad'l8fygrcetdu8y4fd/,.oe87fy4d --Magic
if obfuscatedBool: print "Hello World"
Ne compterait pas car obfuscatedBool pourrait être défini sur True ou False pour le faire imprimer "Hello World" ou ne rien faire respectivement.
BONUS INFINITY: Si vous réalisez les deux bonus simultanément, vous êtes magique.
BONUS NÉGATIF: Utiliser des bibliothèques avec des capacités spécifiques pour faire les fonctions.
Votants, prenez en considération les bonus, car le programme avec le plus de votes gagne!
Remarque: Si vous dites ce que fait votre programme, assurez-vous d'utiliser la syntaxe de spoiler!
Réponses:
Espace blanc / Brainfuck / Python
Wikipédia: espace blanc (langage de programmation)
Interprète d'espace blanc en ligne pour tester la réponse
Interprète Brainfuck en ligne pour tester la réponse
la source
JS
la source
(o^_^o)
.Assemblage MS-DOS x86
Parce qu'il n'est pas déjà obscurci quand il est en assemblage, faisons encore pire! Cela DEVRAIT fonctionner avec n'importe quel assembleur pouvant s'assembler dans un fichier COM, mais je n'ai testé qu'avec TASM pour DOS en utilisant
tasm obfuse
,tlink /t obfuse
la source
C
la source
LOLCODE
Ce langage est déjà obscurci par lui-même. Voici mon code:
la source
JavaScript (ES6)
Utiliser pragma
black magic
pour révéler la vraie puissance de JavaScript:Sortie:
Explications:
Ce programme est en fait assez simple et pourrait être résumé comme ci-dessous.
Tout le reste si le sucre syntaxique!
Voici la version annotée:
la source
COBOL (IBM Enterprise COBOL)
Si cela était démontré, près de 100% des programmeurs IBM Mainframe COBOL diraient "ce n'est même pas un programme, cela ne se compilera pas!". Plus ils ont d'expérience, moins ils ont de chances de penser que cela va se compiler (car les anciens COBOL Mainframe étaient beaucoup plus stricts).
Demandez ensuite "s'il compile, que fait-il?" Ils diraient, "cela ne compilera pas, mais si c'était le cas, cela donnerait une sorte d'erreur, probablement Language Language donnerait un U4038 ou quelque chose comme ça".
J'ai réussi à le raccourcir. Il existe quatre DIVISIONS dans un programme COBOL. IDENTIFICATION / ID, ENVIRONNEMENT, DONNÉES, PROCÉDURE. Il s'avère que PROCEDURE requiert le mot DIVISION et les autres non. Devinez lequel j'ai supprimé en premier et j'ai supposé que les autres mots DIVISION étaient obligatoires ... Dommage que ce ne soit pas du golf. Un programme COBOL à deux caractères ...
la source
Java, C ++ - 11 1 Bonus réclamé
Je ne sais pas si j'ai obtenu les deux bonus, mais c'était déjà un casse-tête de mélanger 2 langages de programmation ...
la source
Python - 1 bonus réclamé
En Python 2,
1
divisé par2
égal0
.1
divisé par0
ne peut pas être évalué et renvoie une division par zéro erreur. Rien n'est imprimé et le programme se termine toujours sans erreur.En Python 3,
1/2
=>0.5
et1/0.5
=>2.0
. Pas d'erreur.Hello, World!
est imprimé.la source
hello world
d'une certaine manière et tout ira bien.Lot
Je ne sais pas si les chiffres alambiqués sont obscurcis, bien qu'il y ait certainement certains aspects de l'obscurcissement.
la source
%%%%
xDRuby - ou est-ce un espace blanc?
Eh bien, quelqu'un peut-il deviner ce que je fais?
Petit conseil: si vous voulez l'exécuter, veuillez copier tout le code dans la zone de code;)Mise à jour: la copie du code ne semble pas fonctionner en raison de problèmes liés à Unicode? Forker la version en ligne puis copier le code semble fonctionner! Attention aux espaces blancs;)
Version en ligne
Sortie:
Explication:
method_missing
est appelée, ce qui économise la longueur des morceauxat_exit
les caractères sont formés en concaténant les chiffres etc. et l'expression est évaluée, dans ce casputs 'Hello world!'
la source
Forth
Créons une nouvelle TÂCHE.
la source
PHP:
$ words = array ('Heart', 'eagle', 'low', 'lonely', 'over', 'SPACE', 'Window', 'optimus', 'rotting', 'list', 'done', ' !terminé');la source
Brainfuck
Explication
la source
C ++ 11
Je réclame le bonus pour la dépendance du compilateur - par exemple, cela présentera un beahviour différent entre gcc 4.8 et gcc 4.9.
Explication de la dépendance du compilateur:
Explication générale du comportement:
la source
Delphes
Je ne sais pas si cela compte, mais je vais vous dire comment j'ai vu ce défi.
Ma pensée était d'écrire du code qui n'exécuterait pas ce que vous attendiez.
la source
Haskell
la source
JS
la source
Matlab
Voici du code qui peut effectuer approximativement diverses opérations, pouvez-vous prédire le flux?
Voici un indice:
la source
Celui-ci fait les deux bonus. Jetez un œil aux spoilers à la fin pour voir ce qu'il fait.
Java / Brainf * ck
Brainfuck
Java
la source
C, 346 caractères
Il s'agit d'un ancien programme que j'ai créé il y a plus de 10 ans. Il affiche en fait "Bonjour, monde!" Le code utilise des nombres palindromiques en base 10 et est légèrement obscurci.
Oh, j'ai presque oublié ... Le programme ne fonctionne que lorsqu'il est démarré sans arguments de ligne de commande. De plus, si vous le démarrez avec 11 arguments de ligne de commande, il semble entrer dans une boucle infinie. 12 est très bien cependant.
la source
Malbolge
Je dirais que ça ne peut pas être plus obscurci que Malbolge;)
la source
bash / sh, python
Cela produirait:
lorsqu'il est exécuté avec
bash
.Lorsque le même code est exécuté avec
sh
ou avecbash
en mode posix, c'est-à-dire en disantbash --posix filename
, il ne produit aucune sortie.la source
Maintenant, selon les commentaires et en le lisant, cela fera 1 des 3 choses.
Cependant, ce programme ne suit pas très bien sa documentation, car peu importe ce que vous lui donnez ... il imprimera toujours le QUATRIÈME objectif, ce qui n'est rien.
la source
Javascript
Je ne comprends même pas ça
Notez que le script n'est pas le mien: source originale
la source
[] + [] -> ''
,day() - day() -> 0
. De là, il semble juste obtenir la représentation décimale de chaque caractère, puis faire unString.fromCharCode
sur eux.Perl
Ceci est ma première tentative d'écrire du code obscurci. J'espère que vous l'aimerez.
la source
C ++:
la source
Ruby 2.0.0 + 1 Bonus
D'accord, je vais donc expliquer le bonus dans le spoiler. Mais c'est à peu près juste un moyen détourné pour imprimer "Hello World!" en Ruby.
Et la sortie:
Quelle?
Et le bonus:
la source
Matlab
Petit code très simple, pourrait probablement être facilement développé pour le rendre plus obscur, mais je l'ai laissé plus petit comme preuve de principe, car l'approche est un peu boiteuse. Je suis presque sûr qu'il est impossible de comprendre le résultat sans au moins exécuter une partie du code.
la source
C ++ ou C & Bonus n ° 1
Je réclame le bonus n ° 1
clang/gcc
contreclang++/g++
.Avec C ++
Avec C
la source