Bu yorumdan ilham alan ...
Kullanıcılara, adım önce göndermeden önce bu zorluğun özelliklerini sağlamlaştırmama yardımcı oldukları için Adım Tavuk , Buğday Sihirbazı ve Dennis'i sağlayın!
Bu Robber'ın ipliği! Polislerin parçacığı için buraya gidin
Gelen bu meydan , sen yapar bazı kodlar çalışan görevli o kadar dil artık tatmin bir programlama dili olma ölçütlerimize söyledi. Bu zorlukta, bu dilin artık yapamayacağı şekilde yapmak anlamına gelir ...
Sayısal giriş ve çıkış al
Birlikte iki sayı ekle
Belirli bir sayının asal olup olmadığını sınayın.
Bu, iki farklı hedefe yönelik iki farklı zorluğun olduğu bir polis ve soyguncular mücadelesidir: Polisler , dili çoğunlukla kullanılmaz kılan bazı kodlar yazmaya çalışacak ve soyguncular , polislere izin veren gizli geçici çözümü bulmaya çalışacaktır. dillerini kurtarmak için.
Polisler iki kod parçası yazacak:
Dilini çoğunlukla kullanılamaz hale getiren, örneğin giriş / çıkış ve sayısal işlemleri yapmak için yerleşik işlevleri silerek. Bu kod edilir değil çökmesine veya çıkış izin verdi. Bu snippet'in sonuna kod eklemek mümkün olmalı ve bu kod değerlendirilecektir . Ve
Giriş olarak iki sayı alan, bunları bir araya getiren ve toplamlarının çıktısını alan bir kod pasajı. Bu pasajın, birinci pasajı çalıştırdıktan sonra bile hala doğru çalışması gerekir. İki snippet birlikte kullanıldığında, iki sayı ekleyen tam bir program oluşturmaları veya iki sayı ekleyen bir işlev tanımlamaları gerekir. Bu snippet muhtemelen belirsiz davranışlara dayanacak ve bulmak zor olacak.
Polisler ayrıca herhangi bir standart giriş ve çıkış yöntemini seçecektir . Ancak, tam olarak hangi formatı (girdi ve çıktı) kullandıklarını açıklamalıdırlar. Cevaplarını kırmanız için aynı giriş / çıkış biçimini izlemelisiniz, aksi halde çatlamanız sayılmaz.
Bir polis cevap her zaman ortaya çıkarır
Birinci kısmı (tabii ki ikinci değil).
Dil (küçük sürümler de dahil olmak üzere, çoğu başvuru muhtemelen garip kenar davalarına dayanacaktır)
Bir fonksiyon mu yoksa tam program mı olduğu dahil olmak üzere IO formatı. Soyguncuları gerekir geçerli bir çatlak olması aynı biçimi kullanın.
Cevaplarının işe yaraması için gereken garip kenar durumları. Örneğin, sadece Linux üzerinde çalışır veya bir İnternet bağlantısı gerektirir .
Bir soyguncu olarak, polislerin başvurularından birine bakmalı ve onu kırmaya çalışmalısınız. Snippet 2 olarak çalışabilecek herhangi bir geçerli snippet yazarak bunu çözebilirsiniz (dil çoğunlukla kullanılamaz hale getirildikten sonra iki sayı ekleyerek). Bu , polisin ilk yazdığı pasajla aynı olmak zorunda değildir . Yanıtınız çatladığında, kodunuzu bu konuya bir cevap olarak gönderin ve yanıtınıza bir link olarak polisin cevabını yorum olarak gönderin. Daha sonra, bu yayın çatlak olduğunu göstermek için düzenlenir.
İşte bir örnek. İlk pasaj için, aşağıdaki python 3 programını polislerin cevabı olarak görebilirsiniz:
Python 3
print=None
STDIN'den girdi alır ve STDOUT'dan çıktı alır
Geçerli bir ikinci snippet olabilir
import sys
a,b=int(input()),int(input())
sys.stdout.write(a+b)
Bu geçerlidir, çünkü giriş olarak iki sayı alacaktır ve iki parçacığı birleştirseniz bile toplamlarının çıktısını alacaktır, örn.
print=None
import sys
a,b=int(input()),int(input())
sys.stdout.write(a+b)
Bu onların cevabını geçerli bir çatlak.
Bir polisin cevabı bütün bir hafta boyunca takip edilmeden kalırsa, ikinci snippet'lerinde düzenlenebilir ve yanıtlarının artık güvenli olduğunu belirtebilirler . Güvenli olacak şekilde düzenlendiğinde, artık kırmaya çalışamazsınız. Güvenli olarak düzenlemezlerse, yapılana kadar kırmaya çalışabilirsiniz.
Soyguncunun ipliğinin kazananı, en fazla yanıtı kırmış olan kullanıcıdır, tie-breaker, N çatlaklarına ulaştığı zamandır . (iki farklı kullanıcının örneğin 5 çatlağı varsa, ilk önce 5. çatlağını yazan kullanıcı kazanır.) Yeterli zaman geçtikten sonra kazananın cevabını en çok oyu ile kabul edeceğim.
İyi eğlenceler!
Kural açıklamaları
İlk pasaj, herhangi bir giriş yapmadan düzgün şekilde çalışmalıdır . İstediğiniz şekilde çıktı verebilir ve bu çıktı dikkate alınmaz. Snippet yapıldıktan sonra, ikinci snippet düzgün çalışır.
Cevabınızın geçerli olması için ikinci pasajın gerçekten yürütülmesi gerekiyor. Bu gibi bir cevap anlamına gelir
import sys sys.exit()
geçerli değil çünkü dili bozmuyor. Bu sadece sonlandırılıyor.
Güvende olduktan sonra, puanınız her iki snippet'in bayt sayısıdır .
Bu kadar uzanır işe Cevabınız için gerekli her türlü garip sınır durumları açığa Lütfen ... Gönderdiğiniz yeterli bilgi içermesi gerekir önce varlık tekrarlanabilir olduğu ortaya sonra gün ışığına çıkarılıyor. Bunun anlamı, cevabınız güvende olursa ve sonra da düzenlerseniz: İşte cevabım. Oh, BTW bu sadece Solaris'te çalışırsanız çalışır, size şaka yapar! Cevabınız geçersiz ve silinecek ve kazanmaya uygun kabul edilmeyecektir.
İkinci snippet toplamı çıkardıktan sonra çökmesine izin verilir. Çıkış hala doğru olduğu sürece (örneğin, STDERR'ye çıkış yapmayı seçerseniz ve daha sonra bir sürü kilitlenme bilgisi alırsanız, bu geçersizdir)
Liderler Sıralaması
En az bir çatlağa sahip, skor ve sonra ad ile sıralanan (alfabetik) her kullanıcının bir listesi. Bir çatlak gönderirseniz, lütfen puanınızı uygun şekilde güncelleyin.
#User #Score
Ilmari Karonen 8
Dennis 5
Olivier Grégoire 4
Sisyphus 3
Veedrac 3
Arnold Palmer 2
Bruce Forte 2
DJMcMayhem 2
Dom Hastings 2
ppperry 2
1bluston 1
2012rcampion 1
Ben 1
BlackCap 1
Christian Sievers 1
Cody Gray 1
HyperNeutrino 1
Joshua 1
Kaz 1
Mark 1
Mayube 1
Xnor 1
zbw 1
SecurityManager
kapsamı dışında bir şey bulamadım ...System.in
Yine de bu noktada okuyabilirsiniz , çünkü henüz kapalı değil.