Dado o seguinte script Python 3:
def greet():
print("Hello, world!")
greet()
Anexe algumas linhas a este arquivo de texto para que ele possa ser executado como um programa Python, bem como compilado e executado como um programa C ++ produzindo a mesma saída Olá, mundo! (incluindo a nova linha no final):
$ python3 bilingual.py.cpp
Hello, world!
$ g++ bilingual.py.cpp && ./a.out
Hello, world!
A solução será pontuada pela contagem de caracteres que não sejam espaços em branco de todo o programa, incluindo o script Python:
sed 's/\s//g' bilingual.py.cpp|wc -c
Respostas:
Score 116
Anexar:
A barra invertida do pré-processador
\
puxa a:
linha contendo desagradável para uma macro não utilizada. Experimente aqui .Agradecemos a resposta de edc65 para a observação sobre int implícita em C ++ 4.
Obrigado à resposta do PieCot por sugerir
<cstdio>
mais<stdio.h>
.Agradeço a Leon por sugerir que eu remova
X
o original#define X\
.fonte
Pontuação 119
(Thx @Linus para a contagem de bytes)
(1 byte economizado thx @Conor O'Brien) (1 byte economizado thx @PieCot)
Contando os bytes novamente à mão, encontrei 113. Talvez esteja certo desta vez.Não, não éNotas: stdio e puts ainda estão vivos e estão em C ++. O tipo int ausente é válido no C ++ 4. Teste
fonte
0
da linha 2. Teste.Pontuação
131 130134As linhas a serem anexadas são:
E o código resultante:
Teste
fonte
#import
não é válido C ++:
Pontuação
110104Melhorando a resposta de Linus :
Teste como C ++
Teste como Python
fonte
Pontuação 136
Apenas para os registros:
Outra maneira (menos eficiente) de lidar com o cólon.
fonte
cstdio
deve-se notar.tr -d '[:space:] ' < bilingual.py.cpp | wc -c
recebo 128, enquanto este:tr -d '[:blank:] ' < bilingual.py.cpp | wc -c
fornece 136