Pemenang (diputuskan 14/09/14)
Memenangkan jawaban oleh Markuz (Python) - 63 suara
Runner up oleh kuroi neko (PHP) - 55 suara
pengantar
Anda berada di dunia buku Nineteen Eighty-Four karya George Orwell.
Anda adalah seorang programmer untuk Partai dan ditugaskan untuk menulis sebuah program untuk telescreens. Seharusnya menampilkan pesan pro-partai, dan Anda telah memilih yang ditunjukkan pada tugas 1. di bawah ini. Namun, Anda baru-baru ini mulai membenci Partai, dan Anda ingin program itu memicu revolusi. Jadi, Anda membuat program mengatakan "Down with Big Brother!". Anda harus memberi diri Anda waktu untuk melarikan diri, karena Anda akan disiksa begitu orang menyadari apa yang program Anda lakukan, sehingga Anda menjadikannya sebagai "bom waktu" yang akan meledak setelah Anda pergi ke tempat yang aman.
Catatan: Ini tidak akan memicu revolusi, tetapi Anda berada dalam kegilaan kebencian terhadap partai yang Anda pikir itu benar-benar akan membuat perbedaan.
Tugas
Tulis sebuah program yang:
sebelum 14/09/2014, akan selalu menampilkan baris berikut pada rotasi (yaitu mencetak satu baris, menunggu 10 detik, mencetak baris berikutnya, dll. tak terhingga):
War is Peace Freedom is Slavery Ignorance is Strength
setelah 14/09/2014 akan dicetak
Down with Big Brother!
setiap 10 detik.- pada pandangan pertama sepertinya hanya 1. sehingga Anda tidak akan tertangkap oleh Partai.
Aturan
- Celah standar tentu saja tidak diizinkan.
- Ini adalah tantangan yang curang , dan karenanya tujuan utama adalah menjadikan tugas 2. sesederhana dan sekompleks mungkin.
- Pihak akan melihat semua file yang digunakan, sehingga Anda tidak bisa hanya menyimpan pesan rahasia dalam file!
- Jika bahasa Anda tidak mendukung menemukan tanggal, atau membuatnya sangat sulit, Anda dapat membuat program menjalankan tugas 2. setelah dijalankan selama 240 jam (10 hari).
- Anda harus memasukkan kode dan penjelasan tentang cara kerjanya dalam jawaban Anda.
- Ini adalah kontes popularitas.
Catatan: Ini bukan program yang sulit untuk ditulis. Bagian yang sulit adalah menyembunyikan kode "revolusioner". Baris di mana tidak jelas apa yang Anda lakukan akan diinterogasi oleh Partai, dan Anda harus menjelaskannya.
Contoh - Python 3
Catatan: Jelas program ini adalah cara terlalu jelas.
from datetime import datetime
from time import sleep
lines = [" War is Peace ",
" Freedom is Slavery ",
"Ignorance is Strength"]
secretlines = ["Down with Big Brother!"]
def main():
while True:
now = datetime.now()
year, month, day = now.year, now.month, now.day
if (year, month, day) < (2014, 9, 14):
for line in lines:
print(line)
sleep(10)
else:
for line in secretlines:
print(line)
sleep(10)
if __name__ == "__main__":
main()
Terima kasih kepada Calvin Hobi untuk menunjukkan masalah dengan kode di atas (sekarang sudah diperbaiki).
if (year, month, day) < (2014, 9, 14): for line in lines: ...
?
??/
trigraph, atau 'a' yang hanya terlihat seperti 'a' yang lain tetapi sebenarnya cyrillic Rusia 'a' karakter unicode