MacGyver'in İkinci Araç Kutusu


16

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 echoprint0ve 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.


İlk araç kutusu nedir?
CalculatorFeline

@CalculatorFeline Soruda bağlantılı, soru kimliği ile tohumlanır.
Rock Garf Hunter Post

1
@tuskiomi eski soru ve yeni soru aynı kişi tarafından oluşturulur ve eski soruları daha yeni, daha iyi soruların kopyaları olarak kapatmak uygundur.
Stephen

2
@tuskiomi En büyük fark, her seferinde sanal alana eklenen karakterlerin sayısıdır. Daha önce, hızlı bir şekilde kontrolden çıkmış olan 12 idi, yani hemen hemen her cevabın tüm ASCII'de mevcuttu. Son sürümdeki tüm cevaplar tarafından kullanılan ortalama karakter sayısı olan 8'e düşürdüm. Tohum ve puanlamadaki farkın küçük değişiklikler olduğuna katılıyorum, ancak karakterdeki azalma ikinci bir yineleme yapmamın tüm nedeni.
Rock Garf Hunter Post

1
Bunun imkansız olduğuna eminim. Str programları, ;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.
pppery

Yanıtlar:


8

Bu imkansız

Langbox'taki tüm dilleri incelemek:

  1. Tcl programlama dili boşluklarla ayrılmış kelimelerden oluşur. Boşluk karakteri araç kutusunda değildir, dolayısıyla geçerli bir program yazılamaz.
  2. Str programları varsayılan olarak girdi dönüştürür. Giriş yapılmadığında herhangi bir şey yapabilmeleri için ;araç kutusunda olmayan karakter gereklidir.
  3. Şema-chez'deki bir programın herhangi bir şey yapmasının tek yolu parantez kullanarak bir işlev çağırmaktır. Tüm şema-chez programları bu nedenle (araç kutusunda olmayan karaktere ihtiyaç duyar
  4. Brain-Flak programları dengeli parantez gerektirir. Araç kutusundaki tek köşeli ayraç karakteri ), bu nedenle dengeli köşeli ayraç içeren hiçbir program mümkün değildir.
  5. Şemaya benzer şekilde, maxima programları herhangi bir şey yapmak için parantez gerektirir.
  6. Java programları, işlev tanımlamak için {veya ->karakter dizilerini gerektirir (ve tüm tam programlar en az bir işleve ihtiyaç duyar), hiçbiri araç kutusunda değildir.
  7. Koşul programları when, araç kutusunda bulunmayan "e" karakterini içeren sözcüğü gerektirir .

İmkansızlık kanıtlarına cevap olarak izin verilir



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.