Имеется следующий скрипт на Python 3:
def greet():
print("Hello, world!")
greet()
Добавьте к этому текстовому файлу несколько строк, чтобы он мог быть выполнен как программа на Python, а также скомпилирован и запущен как программа C ++, выдающая одинаковый вывод Hello, world! (включая перевод строки в конце):
$ python3 bilingual.py.cpp
Hello, world!
$ g++ bilingual.py.cpp && ./a.out
Hello, world!
Решение будет оцениваться по количеству непробельных символов всей программы, включая скрипт Python:
sed 's/\s//g' bilingual.py.cpp|wc -c
Ответы:
Оценка 116
Prepend:
Обратная косая черта препроцессора
\
тянет неприятную:
содержащую строку в неиспользуемый макрос. Попробуй это здесь .Спасибо ответу edc65 за примечание о неявном int в C ++ 4.
Благодаря ответ PieCot в предложившего
<cstdio>
более<stdio.h>
.Спасибо Леону за предложение удалить
X
в оригинале#define X\
.источник
Оценка 119
(Thx @Linus для подсчета байтов)
(1 байт сохранен, спасибо @Conor O'Brien) (1 байт сохранен, спасибо @PieCot)
Снова посчитав байты вручную, я нашел 113. Возможно, на этот раз это правильно.Нет, это не такПримечания: stdio и put все еще живы и работают в C ++. Отсутствующий тип int действителен в C ++ 4. Test
источник
0
строку 2. Тест.Оценка
131 130134Строки, которые будут добавлены:
И полученный код:
тестирование
источник
#import
недействителен C ++:
Оценка
110104Улучшение ответа Линуса :
Тест как C ++
Тест как Питон
источник
Оценка 136
Только для записей:
Еще один (менее эффективный) способ обработки толстой кишки.
источник
cstdio
стоит отметить.tr -d '[:space:] ' < bilingual.py.cpp | wc -c
я получаю 128, а эта:tr -d '[:blank:] ' < bilingual.py.cpp | wc -c
предоставляет 136