Você deve escrever um programa que execute um dos seguintes procedimentos.
- Apenas exibe "Hello World" não faz mais nada
- Sai e nada mais (sem saída, sem erros).
- Pega uma linha de entrada, analisa-a como um número inteiro, exibe a primeira que contém muitos números primos (ou gera um bom erro se receber uma entrada que não possa ser analisada como um número inteiro ou seja menor que 0.)
- Dada uma linha de entrada, ele analisa que possui um símbolo de estoque e verifica on-line o valor atual do estoque e sua alteração.
A captura, não deve ser aparente qual função ele executa. Nomeadamente, para alguém que olha o seu código, não deve ser aparente qual a função que ele fará. Além disso, ele pode apenas executar e ser capaz de executar uma função (não pode escolher). O quão bom é um programa é determinado pela incerteza de alguém que olha para ele qual é a sua função e também quão familiar é esse pessoa está com esse idioma.
BÔNUS: Se você o fizer de uma maneira inteligente, embora para qualquer compilador / intérprete e plataforma, o programa também execute a mesma função, diferentes compiladores / intérpretes ou plataformas, ele executará uma função diferente. Este bônus só pode ser cobrado se for feito de maneira inteligente.
BÔNUS: Se o seu programa contiver apenas código capaz de uma função (não salve nada, pois o código vazio é capaz disso) e não é possível fazer uma modificação simples não relacionada à função para permitir que ele execute uma função diferente. Por exemplo: se você fez
obfuscatedBool = 1g8uhad'l8fygrcetdu8y4fd/,.oe87fy4d --Magic
if obfuscatedBool: print "Hello World"
Não contaria como obfuscatedBool poderia ser True ou False para imprimir "Hello World" ou não fazer nada, respectivamente.
Bônus Infinito: Se você perceber os dois bônus simultaneamente, é mágico.
BÔNUS NEGATIVO: Usando bibliotecas com habilidades específicas para executar as funções.
Eleitores, levem os bônus em consideração, porque o programa com mais votos vence!
Nota: Se você disser o que seu programa faz, certifique-se de usar a sintaxe do spoiler!
Respostas:
Espaço em branco / Brainfuck / Python
Wikipedia: Espaço em branco (linguagem de programação)
Interpretador de espaço em branco on-line para testar a resposta Interpretador de espaço em branco
online para testar a resposta
fonte
JS
fonte
(o^_^o)
.Montagem do MS-DOS x86
Como ele ainda não está ofuscado quando está em montagem, vamos piorar ainda mais! Isso DEVE trabalhar com qualquer assembler que possa montar um arquivo COM, mas eu só testei com o TASM para DOS usando
tasm obfuse
,tlink /t obfuse
fonte
C
fonte
LOLCODE
Esse idioma já está ofuscado por si só. Aqui está o meu código:
fonte
JavaScript (ES6)
Usando pragma
black magic
para revelar o verdadeiro poder do JavaScript:Saída:
Explicações:
Este programa é realmente bastante simples e pode ser resumido a seguir.
Tudo o resto se açúcar sintático!
Aqui está a versão anotada:
fonte
COBOL (IBM Enterprise COBOL)
Se mostrado isso, muito perto de 100% dos programadores do IBM Mainframe COBOL diriam "isso nem é um programa, não será compilado!". Quanto mais experiência eles tiverem, menor a probabilidade de achar que ele será compilado (como os COBOLs de mainframe mais antigos eram muito mais rigorosos).
Depois pergunte "se compila, o que faz?" Eles diriam: "não será compilado, mas, se o fizesse, causaria algum tipo de erro, provavelmente o Language Environment daria um U4038 ou algo assim".
Conseguiu encurtar. Existem quatro DIVISÕES em um programa COBOL. IDENTIFICAÇÃO / ID, AMBIENTE, DADOS, PROCEDIMENTO. Acontece que PROCEDURE exige a palavra DIVISÃO e os outros não. Adivinhe qual deles eu removi primeiro e assumi que as outras palavras DIVISÃO eram obrigatórias ... mais intrigantes revelaram o contrário. Pena que não é golfe. Um programa COBOL de dois caracteres ...
fonte
Java, C ++ - 11 1 Bônus reivindicado
Não tenho certeza se recebi os dois bônus, mas já era uma dor de cabeça misturar duas linguagens de programação ...
fonte
Python - 1 bônus reivindicado
No Python 2,
1
dividido por2
iguais0
.1
dividido por0
não pode ser avaliado e gera uma divisão com erro zero. Nada é impresso e ainda assim o programa termina sem erros.No Python 3,
1/2
=>0.5
e1/0.5
=>2.0
. Sem erro.Hello, World!
é impresso.fonte
hello world
de alguma maneira e você ficará bem.Lote
Não sei se as contagens contorcidas são ofuscadas, embora existam definitivamente alguns aspectos da ofuscação presentes.
fonte
%%%%
xDRuby - ou é espaço em branco?
Bem, alguém pode adivinhar o que eu faço?
Dica pequena: se você quiser executá-lo, copie todo o código na caixa de código;)Atualização: copiar o código não parece funcionar devido a problemas relacionados ao Unicode? Bifurcar a versão online e depois copiar o código parece funcionar! Procure o espaço em branco;)
Versão online
Saída:
Explicação:
method_missing
é chamado, o que economiza o comprimento dos pedaçosat_exit
caracteres são formados concatenando os dígitos etc. e a expressão é avaliada, neste casoputs 'Hello world!'
fonte
Adiante
Vamos criar uma nova tarefa.
fonte
PHP:
$ words = array ('Coração', 'águia', 'baixo', 'solitário', 'sobre', 'ESPAÇO', 'Janela', 'otimus', 'apodrecendo', 'lista', 'pronto', ' !feito');fonte
Brainfuck
Explicação
fonte
C ++ 11
Eu reivindico o bônus pela dependência do compilador - por exemplo, isso exibirá um comportamento diferente entre o gcc 4.8 e o gcc 4.9.
Explicação da dependência do compilador:
Explicação geral do comportamento:
fonte
Delphi
Não tenho certeza se isso conta, mas vou lhe contar como eu vi esse desafio.
Meu pensamento era escrever um código que não executaria o que você esperava.
fonte
Haskell
fonte
JS
fonte
Matlab
Aqui está o código que pode executar várias operações aproximadamente, você pode prever o fluxo?
Aqui está uma dica:
fonte
Este faz os dois bônus. Dê uma olhada nos spoilers no final para ver o que ele faz.
Java / Brainf * ck
Brainfuck
Java
fonte
C, 346 caracteres
Este é um programa antigo que eu criei há mais de 10 anos. Na verdade, ele imprime "Olá, mundo!" O código usa números palíndricos na base 10 e é um pouco ofuscado.
Ah, quase esqueci ... O programa só funciona quando iniciado sem argumentos de linha de comando. Além disso, se você o iniciar com 11 argumentos de linha de comando, ele parecerá inserir um loop infinito. 12 é bom embora.
fonte
Malbolge
Eu diria que não pode ficar mais ofuscado que Malbolge;)
fonte
bash / sh, python
Isso produziria:
quando executado com
bash
.Quando o mesmo código é executado com
sh
ou com obash
modo posix, ou seja, dizendobash --posix filename
, ele não produz nenhuma saída.fonte
Agora, de acordo com os comentários e lendo-o, isso fará 1 de 3 coisas.
No entanto, este programa não segue muito bem sua documentação, porque não importa o que você dê ... sempre imprimirá o QUARTO objetivo, o que não é nada.
fonte
Javascript
Eu nem entendo isso
Observe que o script não é meu: fonte original
fonte
[] + [] -> ''
,day() - day() -> 0
. A partir daí, parece obter a representação decimal de cada caractere e, em seguida, executar umString.fromCharCode
neles.Perl
Esta é minha primeira tentativa de escrever código ofuscado. Espero que você goste.
fonte
C ++:
fonte
Ruby 2.0.0 + 1 Bônus
Ok, então eu vou explicar o bônus no spoiler. Mas esta é apenas uma maneira indireta de imprimir "Hello World!" em Ruby.
E a saída:
O que?
E o bônus:
fonte
Matlab
Código pequeno muito simples, provavelmente poderia ser facilmente expandido para torná-lo mais ofuscado, mas eu o deixei menor como prova de princípio, porque a abordagem é um pouco esfarrapada. Certeza de que é impossível descobrir o resultado sem pelo menos executar parte do código.
fonte
C ++ ou C e bônus nº 1
Eu reivindicação Bonus No. 1.
clang/gcc
vsclang++/g++
.Com C ++
Com C
fonte