Bu soruda her cevap, bir program / fonksiyon oluşturmak için kullanılabilecek bir "araç kutusu" alacaktır. Araç kutusu iki şeyden oluşur:
programlama dillerinin listesi
geçerli karakterlerin bir listesi
Yalnızca araç kutusundaki karakterleri kullanarak sağlanan dillerden birine geçerli bir program / işlev yazmalısınız. Programınız / işleviniz bu soruda zaten var olan cevapların sayısını vermelidir.
Bir cevap yazıp gönderdikten sonra, kullandığınız dil ve karakterler araç kutusundan kaldırılacak ve bir sonraki cevap için araç kutusu olarak kullanılmak üzere 1 yeni dil ve 8 yeni karakter rastgele eklenecektir.
kurallar
Her cevap:
- Ondan önce gelen geçerli cevapların sayısını çıktılayın
- Bu yanıt için araç kutusunda sağlanan karakterlerin bir alt kümesini içerir. (tekrarlara izin verilir)
- Sağlanan araç kutusundan dillerden birinde olun
Bir sonraki araç kutusu bu python programı tarafından belirlenecektir . Son yanıtın posta kimliğiyle birlikte kalan dilleri ve karakterleri bir sonraki araç kutusunu oluşturmak için .
Buradaki dil listesi, bu yayının yapıldığı tarihte çevrimiçi denemek için kullanılabilen tüm dillerdir. Karakterler 0-127 karakter kodlarına sahiptir.
Cevabınız olarak tam bir program veya bir fonksiyon yazabilirsiniz. REPL'ler farklı diller olduğundan bunlara izin verilmeyecektir. (her dilin TIO sürümünü kullanın)
Bir dil özel bir kodlama kullanıyorsa, karakterler bayt olarak yorumlanmalıdır (ASCII'den kodu çözülür ve sıfırla doldurulur).
Başlangıç araç kutusu bu kimlik sonrası ( 128464 ) rastgele seçilecek , başlamak için 7 dil olacak
echoprint0
ve insanları başlatmak için ücretsiz olarak karakterleri ve ascii 0-31'i ekleyeceğim .Arka arkaya iki kez cevap veremezsiniz
puanlama
Bir kişi her cevap verdiğinde cevabı için bir takım puanlar alacaktır. Amaç mümkün olduğunca çok puan elde etmektir. X dilinde bir cevap için, X dilinin araç kutusunda kullanılmadığı kadar çok dönüş elde edersiniz. Örneğin, dil araç kutusuna yeni eklendiğinden, ilk yanıtlayan kişi 1 puan alır. Mutlaka bir son olmayacak ve herhangi bir cevap kabul etmeyeceğim.
Spor
Bu bir yarışma, ama yine de rekabetçi kalırken kazanmanın üstüne eğlenmenizi öneririm (eğer kazanma kriterlerini "eğlenceye" geçirebilirdim). Eğlenceli olmayan bazı şeyler:
- Kasıtlı olarak karakterler kullanarak gelecekteki cevapları engellemenize gerek yoktur.
- Gelecekteki araç kutularının kullanımını zorlaştırmak için post id sistemini oynamaya çalışıyorum.
- Gelecekteki araç kutularının kullanımını kolaylaştırmak için post id sistemini oynamaya çalışıyorum.
Kimsenin bu şeyleri yapmasını engelleyemem, ama bunu yaptığından şüphelendiğim cevapları küçümseyeceğim.
Daha olumlu bir not, iyi spor ve teşvik edilen bazı şeyler:
- Sohbetteki diğer kullanıcılarla koordinasyon.
- Karakterleri daha zor veya daha kısıtlayıcı diller için kaydetme
Bu, burada bulunan bir zorluğun ikinci bir yinelemesidir . Birincisi ile ilgili bir takım problemleri geliştirir. İşte bu soruları tartışan bir meta.
;
girdi verilmediğinde herhangi bir şey yapmak için (araç kutusunda değil) gerektirir . Condit ve Tcl programları sözdiziminin bir parçası olarak bir boşluk gerektirir (toobox içinde değil). Şemanın ihtiyacı var (
. Brain-Flak bariz nedenlerle çalışamaz (sadece araç kutusundaki anladığı karakterdir )
). Java 8'de {
bir işlev bildirmek için (araç kutusunda değil) gerekir. Bu sadece "baskı" olmadan bir şeyler yazdırabilir veya parantez kullanmadan bir işlev ilan edebilir sanmıyorum maxima bırakır.