Diberikan skrip Python 3 berikut:
def greet():
print("Hello, world!")
greet()
Tambahkan beberapa baris ke file teks ini sehingga dapat dijalankan sebagai program Python serta dikompilasi dan dijalankan sebagai program C ++ yang menghasilkan keluaran yang sama Halo, dunia! (termasuk baris baru di akhir):
$ python3 bilingual.py.cpp
Hello, world!
$ g++ bilingual.py.cpp && ./a.out
Hello, world!
Solusinya akan dinilai dengan jumlah karakter non-spasi putih dari seluruh program, termasuk skrip Python:
sed 's/\s//g' bilingual.py.cpp|wc -c
Jawaban:
Skor 116
Prepend:
Backslash preprocessor
\
menarik:
garis berisi jahat ke makro yang tidak digunakan. Coba di sini .Berkat jawaban edc65 untuk catatan tentang int implisit dalam C ++ 4.
Berkat jawaban PieCot ini untuk menyarankan
<cstdio>
lebih<stdio.h>
.Terima kasih kepada Leon karena menyarankan saya menghapus
X
yang asli#define X\
.sumber
Skor 119
(Thx @Linus untuk jumlah byte)
(1 byte disimpan thx @Conor O'Brien) (1 byte disimpan thx @PieCot)
Menghitung byte lagi dengan tangan, saya menemukan 113. Mungkin benar kali ini.Bukan ituCatatan: stdio dan put masih hidup dan menendang C ++. Tipe int yang hilang valid dalam C ++ 4. Test
sumber
0
on line 2. Tes.Nilai
131 130134Baris-baris yang akan dituliskan adalah:
Dan kode yang dihasilkan:
Pengujian
sumber
#import
tidak valid C ++:
Nilai
110104Memperbaiki jawaban Linus :
Tes sebagai C ++
Uji sebagai Python
sumber
Skor 136
Hanya untuk catatan:
Cara lain (kurang efisien) untuk menangani usus besar.
sumber
cstdio
harus diperhatikan.tr -d '[:space:] ' < bilingual.py.cpp | wc -c
Saya mendapatkan 128, sedangkan yang ini:tr -d '[:blank:] ' < bilingual.py.cpp | wc -c
menyediakan 136