Dalam tantangan ini Anda harus menulis sebuah program atau fungsi, yang mengambil string sebagai input dan output salah satu dari dua nilai yang mungkin. Kami akan memanggil salah satu dari nilai-nilai ini truthy dan satu falsy . Mereka tidak perlu benar-benar menjadi truthy atau falsy . Agar jawaban valid, harus memenuhi empat kriteria tambahan
Ketika Anda melewati program untuk dirinya sendiri itu output truthy nilai.
Jika Anda lulus program anda sebagai masukan untuk setiap jawaban yang lebih tua itu harus output truthy keluaran (dari program Anda lewat ke).
Jika Anda memberikan jawaban yang lebih lama ke jawaban Anda sebagai input, maka itu akan menampilkan output falsy (dari program Anda).
Harus ada jumlah tak terbatas dari string yang mengevaluasi untuk menghasilkan kebenaran dalam semua jawaban pada tantangan (termasuk jawaban baru Anda).
Apa yang akan dilakukan adalah perlahan-lahan akan membangun rantai jawaban yang masing-masing dapat menentukan apakah program lain dalam rantai datang sebelum atau sesudahnya.
Tujuan dari tantangan ini adalah untuk membangun daftar pembatasan sumber yang diterapkan pada jawaban berurutan yang membuat masing-masing lebih menantang daripada yang terakhir.
Contoh
Rantai (ditulis dalam Haskell) dapat dimulai:
f _ = True
Karena tidak ada program yang lebih lama, kriteria tidak berlaku untuk jawaban ini, hanya perlu menampilkan satu dari dua nilai yang mungkin, dalam hal ini selalu menghasilkan True
.
Berikut ini bisa menjadi jawabannya:
f x=or$zipWith(==)x$tail x
Yang menyatakan bahwa ada karakter dua kali berturut-turut di suatu tempat di string. Jawaban pertama tidak memiliki properti ini sedangkan yang kedua tidak ( ==
). Jadi ini adalah jawaban selanjutnya yang valid.
Aturan khusus
Anda dapat menggunakan bahasa apa pun yang Anda inginkan (yang memiliki implementasi yang tersedia secara bebas) sebanyak yang Anda inginkan.
Jika Anda adalah orang terakhir yang menjawab, Anda harus menunggu setidaknya 7 hari sebelum memposting jawaban baru.
Program Anda mungkin tidak membaca sumbernya sendiri.
Karena aturan ke 4 sangat sulit untuk diverifikasi jika fungsi kriptografi terlibat, fungsi tersebut tidak diizinkan.
Kriteria penilaian
Setiap kali Anda menambahkan jawaban, Anda akan mendapatkan poin sebanyak tempat di rantai. Misalnya jawaban ke-5 akan mendapatkan penulis 5 poin. Tujuannya adalah untuk mendapatkan poin sebanyak yang Anda bisa. Jawaban terakhir akan skor penjawab -∞ poin. Ini mungkin akan lebih menyenangkan jika Anda mencoba untuk memaksimalkan skor Anda sendiri daripada "memenangkan" tantangan. Saya tidak akan menerima jawaban.
Karena ini adalah rangkaian jawaban, Anda mungkin ingin mengurutkan berdasarkan yang terlama