Biorąc pod uwagę następujący skrypt Python 3:
def greet():
print("Hello, world!")
greet()
Dodaj kilka wierszy do tego pliku tekstowego, aby można go było zarówno uruchomić jako program w języku Python, jak i skompilować i uruchomić jako program w języku C ++, generujący to samo wyjście Witaj, świecie! (w tym nowy wiersz na końcu):
$ python3 bilingual.py.cpp
Hello, world!
$ g++ bilingual.py.cpp && ./a.out
Hello, world!
Rozwiązanie zostanie ocenione na podstawie liczby znaków spacji w całym programie, w tym skryptu Python:
sed 's/\s//g' bilingual.py.cpp|wc -c
Odpowiedzi:
Ocena 116
Przygotuj:
Wsteczny ukośnik preprocesora
\
ciągnie nieprzyjemną:
linię zawierającą w nieużywane makro. Wypróbuj tutaj .Dzięki odpowiedzi edc65 na notatkę o domniemanej int w C ++ 4.
Dzięki odpowiedź PieCot jest dla sugerując
<cstdio>
się<stdio.h>
.Dziękujemy Leonowi za sugestię, że usunę
X
oryginał#define X\
.źródło
Ocena 119
(Thx @Linus dla liczby bajtów)
(1 bajt zapisany thx @ Conor O'Brien) (1 bajt zapisany thx @PieCot)
Licząc bajty ponownie ręcznie, znalazłem 113. Może tym razem jest słuszne.Nie, nie jestNotatki: stdio i put są wciąż żywe i działają w C ++. Brakujący typ int jest poprawny w C ++ 4. Test
źródło
0
wiersz 2. Test.Ocena
131 130134Wiersze do dodania to:
I wynikowy kod:
Testowanie
źródło
#import
nie jest poprawny C ++:
Ocena
110104Poprawianie odpowiedzi Linusa :
Przetestuj jako C ++
Przetestuj jako Python
źródło
Ocena 136
Tylko dla akt:
Kolejny (mniej wydajny) sposób radzenia sobie z okrężnicą.
źródło
cstdio
należy zauważyć.tr -d '[:space:] ' < bilingual.py.cpp | wc -c
tr -d '[:blank:] ' < bilingual.py.cpp | wc -c