Daha fazla Codington Crescent

Sep 20 2020

İkinci deneme için kim var?

"Üzgünüm, hiçbir fikrim yok" radyo programını dinlediyseniz, muhtemelen "Mornington Crescent" adlı oyunu duymuşsunuzdur. Yapmayanlar için, oyuncuların Londra Yeraltı ağındaki rastgele istasyonları adlandırdığı bir oyundur. "Mornington Crescent" adını ilk alan kişi oyunu kazanır. 1

Geçen seferki gibi , size başka bir Codington Crescent oyunu sunuyorum .

Meydan okuma

Bu meydan okumanın galibi, değişken boyutlu pozitif tamsayılar listesi verildiğinde, söz konusu listenin ortalamasını (aritmetik ortalama) döndüren bir çalışma programı yayınlayan ilk kişidir. Liste boş olmayacak ve her zaman en az bir öğe içerecektir. Giriş ve çıkış, herhangi bir makul ve uygun formatta verilebilir

Test Durumları

[150, 541, 168, 225, 65, 191, 964, 283, 825, 5, 802, 426, 45, 326, 22, 619, 281] => 349.29411764705884
[874, 33, 423, 36, 1000, 255, 345, 902, 700, 141, 916, 959, 222, 246, 96] => 476.53333333333336
[567, 868, 680, 121, 574, 391, 233, 39, 764, 499, 455, 684, 742, 117, 376] => 474.0
[177, 372, 778, 709, 474, 796, 840, 742] => 611.0
[181, 751, 940, 782, 727, 756, 541, 762, 677, 751, 719] => 689.7272727272727
[47, 804, 782, 231, 170] => 406.8
[315, 972] => 643.5
[679, 727] => 703.0
[859, 229, 363, 468, 103, 104, 570, 772, 83, 693, 898, 672, 306, 733, 189, 717, 231] => 470.0
[228, 839] => 533.5
[395, 622, 760, 820, 70, 814, 797, 202, 277, 663, 93, 218, 564, 735] => 502.14285714285717
[724, 631, 932, 333, 605, 880, 670, 468, 703, 744, 680, 28] => 616.5
[950, 733, 305, 178, 995] => 632.2
[762, 506, 553, 284, 499, 694, 665, 998, 576, 504, 123, 658, 943, 385, 354, 732] => 577.25
[151, 919, 514, 721, 426, 333, 808, 514] => 548.25
[995] => 995.0
[891, 243, 42, 968, 458, 372, 301, 269, 559, 394, 980, 372, 804, 429, 738] => 521.3333333333334
[147, 473, 632] => 417.3333333333333
[105, 483, 225, 541, 684, 456, 328] => 403.14285714285717
[311, 1, 770, 417, 910, 185, 375, 631, 226, 266, 609] => 427.3636363636364

Test durumu üreteci

Kurallar

  1. Her oyuncunun karakter ekleyeceği / değiştireceği kendi programı vardır. Bu onların çalışan programı olarak adlandırılır .
Bu şekilde, zincirleme yanıtın tek yönü kurallardır. Herkes kendi çalışan programını kullanır. Hiç kimse bir programı paylaşmıyor
  1. Her cevap (bir dönüş ), önceki cevaplarla tanımlanan kaynak kısıtlamalarına uymalıdır. Bunlara kural denir . Her varyant 5 tur sürer . Kurallar, kısıtlı kaynak kısıtlamaları biçimindedir .

  2. Çalışan programlar, dönüşler arasında dilleri değiştirebilir.

  3. Cevap verenler (oyuncular), tur başına istedikleri kadar çalışan programlarının karakterlerini ekleyebilir, değiştirebilir veya kaldırabilir (ancak seçeneklerden yalnızca biri). Alternatif olarak, "geçmeyi" ( daha bilimsel olarak farkle ) seçebilirler , yeni kurallar eklemeyebilirler ve yine de bir dönüş olarak sayabilirler . Kurallar birbiriyle çelişiyorsa tek seçenek bu olabilir. Dönüş sayısı hala artırılır ve kaydedilecektir. Profesyonel ipucu: Muhtemelen topluluk wiki'sini işaretlemek isteyebilirsiniz çünkü fazla bir şey eklemiyor.

  4. Her turun sonunda, oyuncu sonraki 5 turu kapsayacak yeni bir kural ilan eder. Kurallar objektif olmalıdır ve bir TIO doğrulama programı şiddetle tavsiye edilir. Ayrıca, kuralların her dile uygulanabilmesi gerekir (örneğin Programs must not error using Python 3.4.2, geçerli bir kural değildir).

  5. Oynatma, çalışan bir program hedef sonuca ulaşana kadar devam eder.

  6. Bir hafta boyunca bir dönüş yapılmazsa, örtük bir farkle ortaya çıkacaktır. Bir dönüş olarak sayıldığı için örtük bir farkle'den sonra her zaman bir dönüş yapabilirsiniz (bunu Topluluk kullanıcısının sırası olarak düşünün).

Başlangıç ​​Kuralları

Maçın başlaması için ilk 5 tur şu kurallara uymalıdır:

  1. Dönüşler nihai hedefi başaramayabilir
  2. Minimum program uzunluğu 10 bayttır

Kalıcı Kurallar

Geçen sefer, aşağıdaki kuralların 5 dönüşlü kurallardan ziyade kalıcı bir kural olarak daha uygun olduğu belirtildi:

  1. Çalışan programlar indirgenemez olmalıdır. Bu durumda indirgenemez, tüm programdan karakterler kaldırılırsa programın tüm programın çıktısını üretmeyeceği anlamına gelir. Yani. Orijinal programdan karakterleri kaldırarak oluşturulabilecek varsayılanla aynı çıktıya sahip bir program yoktur.)

  2. Bir program ilk görünümünden itibaren 5 tur içinde kazanamaz

Örnek Kurallar

Bunlar, meydan okumaya kural olarak ekleyebileceğiniz şeylerin tamamen örnekleridir. Birisi bunları kullanmaya karar vermedikçe geçerli değildir.

  • Çalışan programın ilk ve son karakteri boşluk olmalıdır
  • Çalışan programların eşit miktarda bayt olması gerekir
  • Çalışan programlar 30 bayttan fazla olmamalıdır

Ekstra Yanıt Zincirleme Kuralları

  • Arka arkaya iki kez cevap veremezsiniz. Bir kez daha denemeden önce başka birinin cevap vermesi gerekiyor.
  • Dillerin geçerli yanıtlar olması için Çevrimiçi Dene'de olması gerekir.

Uzman ipucu: daha uyumlu bir yanıt akışı için en eskiye göre sıralayın

1 Orijinal Mornington Crescent oyununun gerçekten kuralları yok ... Daha çok karmaşık bir oyun gibi görünen bir etkinlik.

Cevap Şablonu

# [Language], turn number [your turn]

    <code>

[Try it online link]
[prev answer link] 

## Rules

- Rule (n turns left)
- Rule (n turns left)
- Rule (n turns left)

Yanıtlar

3 SunnyMoon Sep 20 2020 at 22:05

05AB1E , dönüş 3

$XY~sDOsg/*+

Çevrimiçi deneyin!

(Önceki cevaba nasıl bağlanırım?)

Oğlum, Code Golf'ü seviyorum!

Açıklama

$               # Push 1 and input
 X              # Push 1
  Y             # Push 2
   ~            # Converts 1 and 2 to 3
    s           # Swap to get implicit input
     D          # Duplicate
      O         # Sum the list
       s        # Swap top 2 values and gets the preserved list.
        g       # Push the length of the list.
         /      # Push the quotient of sum and length
          *     # Multiply with 3
           +    # Add with one

Mevcut kurallar

  • Dönüşler nihai hedefi gerçekleştirmeyebilir - Ortalama üç artı bir artı bir yazdırır ( 2 tur sola! )
  • Minimum program uzunluğu 10 bayttır (3 dönüş sola) - Programın uzunluğu 12 bayttır ( 2 dönüş sola! )
  • Programlar ~ karakterini içermelidir - Karakterin 1 ve 2'nin bitsel VEYA ( 3 tur sola! )
  • Programların ortalama bayt değeri 80'den küçük veya eşit olmalıdır - Programın ortalama bayt değeri 79,25'tir (4 dönüş sola!)

Yeni kural

Drumroll


Program 5-10 alfasayısal olmayan karakter içermelidir (5 dönüş sola!)

2 Noname Sep 20 2020 at 08:20

Io , 20 bayt

Ortalama + 1'i verir.

method(~,~average+1)

Çevrimiçi deneyin!

Kurallar

ilk 5 dönüş şu kurallara uymalıdır:

  • Dönüşler nihai hedefi başaramayabilir
  • Minimum program uzunluğu 10 bayttır

bu, çalışan tüm programlar için geçerlidir:

  • Çalışan programlar indirgenemez olmalıdır. Bu durumda indirgenemez, tüm programdan karakterler kaldırılırsa programın tüm programın çıktısını üretmeyeceği anlamına gelir. Yani. Orijinal programdan karakterleri kaldırarak oluşturulabilecek varsayılanla aynı çıktıya sahip bir program yoktur.)

  • Bir program ilk görünümünden itibaren 5 tur içinde kazanamaz

Yeni kural:

  • Programlar şu ~karakteri içermelidir
2 pxeger Sep 20 2020 at 18:42

Python 3 , 23 bayt, 2. sıra

lambda l:sum(l)/~len(l)

Çevrimiçi deneyin!

Bir kayan liste olarak girdi; float olarak çıktılar.

Kurallar

Kalıcı kurallar:

  • Çalışan programlar indirgenemez olmalıdır. Bu durumda indirgenemez, tüm programdan karakterler kaldırılırsa programın tüm programın çıktısını üretmeyeceği anlamına gelir. Yani. Orijinal programdan karakterleri kaldırarak oluşturulabilecek varsayılanla aynı çıktıya sahip bir program yoktur.)

  • Bir program ilk görünümünden itibaren 5 tur içinde kazanamaz

Mevcut kurallar:

  • Dönüşler nihai hedefi gerçekleştirmeyebilir (3 tur sola)
  • Minimum program uzunluğu 10 bayttır (3 dönüş sola)
  • Programlar ~karakteri içermelidir (4 dönüş sola)

Yeni kuralım:

  • Programların ortalama bayt değeri 80'den küçük veya buna eşit olmalıdır. ( Doğrulayıcı )
1 pppery Oct 05 2020 at 00:31

Befunge-98 (PyFunge) , 13 bayt, 5. dönüş

(4. viraj üstü kapalı bir farkle idi)

"PDPF"4(~FP@

Bu cevap kazanmaktan uzaktır, ancak bu dildeki ortalama bir programın muhtemelen ihtiyaç duyacağı bazı karakterleri ekliyorum ve mücadeleyi canlı tutuyorum.

Çevrimiçi deneyin!

Önceki cevap

Kurallar:

  • Programlar son hedefi (son dönüş) gerçekleştiremeyebilir
  • Minimum program uzunluğu 10 bayttır (son dönüş)
  • Programlar ~ karakterini içermelidir (sola 1 dönüş)
  • Programların ortalama bayt değeri 80'den küçük veya buna eşit olmalıdır. (2 dönüş sola)
  • Program 5-10 alfasayısal olmayan karakter içermelidir (3 dönüş sola!)
  • Programlar art arda 2 küçük harf içeremez (5 dönüş sola)