Altro Codington Crescent

Sep 20 2020

Chi è pronto per un secondo tentativo?

Se hai mai ascoltato il programma radiofonico "Mi dispiace, non ho la più pallida idea", probabilmente hai sentito parlare del gioco chiamato "Mornington Crescent". Per coloro che non l'hanno fatto, è un gioco in cui i giocatori nominano stazioni casuali sulla rete della metropolitana di Londra. La prima persona a chiamare "Mornington Crescent" vince la partita. 1

Proprio come l'ultima volta , vi presento un altro gioco di Codington Crescent .

La sfida

Il vincitore di questa sfida è la prima persona a pubblicare un programma di lavoro che, data una lista di numeri interi positivi di dimensione variabile, restituisce la media (media aritmetica) di detta lista. L'elenco non sarà vuoto e avrà sempre almeno un elemento. L'input e l'output possono essere forniti in qualsiasi formato ragionevole e conveniente

Casi test

[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

Generatore di test case

Le regole

  1. Ogni giocatore ha il proprio programma che aggiungerà / cambierà i personaggi. Questo è definito il loro programma in esecuzione .
In questo modo, l'unico aspetto del concatenamento delle risposte sono le regole. Ognuno usa il proprio programma in esecuzione. Nessuno condivide affatto un programma
  1. Ogni risposta (un turno ) deve obbedire alle restrizioni sulla fonte definite dalle risposte precedenti. Queste sono chiamate regole . Ogni variante dura 5 turni . Le regole sono sotto forma di restrizioni di origine limitata.

  2. I programmi in esecuzione possono cambiare la lingua tra i turni.

  3. Chi risponde (i giocatori) possono aggiungere, modificare o rimuovere (ma solo una delle opzioni) tutti i personaggi che desiderano del loro programma in esecuzione per turno. In alternativa, possono scegliere di "passare" ( più scientificamente , farkle ), non aggiungendo nuove regole e contando comunque come un turno. Questa può essere l'unica scelta se le regole sono in conflitto tra loro. Il conteggio dei turni è ancora incrementato e deve essere pubblicato. Suggerimento: probabilmente potresti volerlo contrassegnare come wiki della comunità perché non aggiunge molto.

  4. Alla fine di ogni turno, il giocatore dichiara una nuova regola che coprirà i 5 turni successivi. Le regole devono essere oggettive e un programma di verifica TIO è altamente raccomandato. Inoltre, le regole devono essere in grado di essere applicate a tutte le lingue (ad esempio, Programs must not error using Python 3.4.2non è una regola valida).

  5. Il gioco continua fino a quando un programma in esecuzione non raggiunge il risultato desiderato.

  6. Se una svolta non è stata eseguita per una settimana, si verificherà un farkle implicito . Puoi sempre fare un turno dopo un farkle implicito, poiché conta come un turno (pensalo come il turno dell'utente della comunità).

Regole iniziali

Per iniziare il gioco, i primi 5 turni devono seguire queste regole:

  1. I turni potrebbero non raggiungere l'obiettivo finale
  2. La lunghezza minima del programma è di 10 byte

Regole permanenti

L'ultima volta, è stato notato che le seguenti regole si adattano meglio come regola permanente piuttosto che come regole dei 5 turni:

  1. I programmi in esecuzione devono essere irriducibili. Irriducibile in questo caso significa che il programma non produce l'output dell'intero programma se i caratteri dell'intero programma vengono rimossi. Cioè. Non esiste un programma con lo stesso output predefinito che può essere costruito rimuovendo i caratteri dal programma originale.)

  2. Un programma non può vincere entro 5 turni dalla sua prima apparizione

Regole di esempio

Questi sono puramente esempi di ciò che potresti aggiungere come regole alla sfida. Non si applicano a meno che qualcuno non decida di usarli.

  • Il primo e l'ultimo carattere del programma in esecuzione devono essere uno spazio
  • I programmi in esecuzione devono avere una quantità pari di byte
  • I programmi in esecuzione non devono superare i 30 byte

Regole di concatenamento di risposte extra

  • Non puoi rispondere due volte di seguito. Qualcun altro deve rispondere prima che tu abbia un altro tentativo.
  • Le lingue devono essere su Provalo online per essere risposte valide.

Suggerimento da professionista: ordina per più vecchio per un flusso più coerente di risposte

1 Il gioco originale di Mornington Crescent non ha regole ... È più un'attività che sembra un gioco complicato.

Modello di risposta

# [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)

Risposte

3 SunnyMoon Sep 20 2020 at 22:05

05AB1E , svolta 3

$XY~sDOsg/*+

Provalo online!

(Come faccio a collegarmi alla risposta precedente?)

Ragazzo, adoro Code Golf!

Spiegazione

$               # 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

Regole attuali

  • I turni potrebbero non raggiungere l'obiettivo finale - Stampa il triplo della media più uno ( 2 turni rimanenti! )
  • La lunghezza minima del programma è di 10 byte (3 giri a sinistra) - La lunghezza del programma è di 12 byte ( 2 giri a sinistra! )
  • I programmi devono contenere il carattere ~ - Il carattere dovrebbe premere l'OR bit per bit di 1 e 2 ( 3 giri a sinistra! )
  • I programmi devono avere un valore di byte medio inferiore o uguale a 80 - Il valore di byte medio del programma è 79,25 (4 giri a sinistra!)

La nuova regola

Rullo di tamburi


Il programma deve includere 5-10 caratteri non alfanumerici (5 giri a sinistra!)

2 Noname Sep 20 2020 at 08:20

Io , 20 byte

Restituisce la media + 1.

method(~,~average+1)

Provalo online!

Regole

i primi 5 turni devono seguire queste regole:

  • I turni potrebbero non raggiungere l'obiettivo finale
  • La lunghezza minima del programma è di 10 byte

questo vale per tutti i programmi in esecuzione:

  • I programmi in esecuzione devono essere irriducibili. Irriducibile in questo caso significa che il programma non produce l'output dell'intero programma se i caratteri dell'intero programma vengono rimossi. Cioè. Non esiste un programma con lo stesso output predefinito che può essere costruito rimuovendo i caratteri dal programma originale.)

  • Un programma non può vincere entro 5 turni dalla sua prima apparizione

Nuova regola:

  • I programmi devono contenere il ~carattere
2 pxeger Sep 20 2020 at 18:42

Python 3 , 23 byte, giri 2

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

Provalo online!

Input come elenco di float; viene visualizzato come un galleggiante.

Regole

Regole permanenti:

  • I programmi in esecuzione devono essere irriducibili. Irriducibile in questo caso significa che il programma non produce l'output dell'intero programma se i caratteri dell'intero programma vengono rimossi. Cioè. Non esiste un programma con lo stesso output predefinito che può essere costruito rimuovendo i caratteri dal programma originale.)

  • Un programma non può vincere entro 5 turni dalla sua prima apparizione

Regole attuali:

  • I turni potrebbero non raggiungere l'obiettivo finale (3 turni a sinistra)
  • La lunghezza minima del programma è di 10 byte (3 giri a sinistra)
  • I programmi devono contenere il ~carattere (4 giri a sinistra)

La mia nuova regola:

  • I programmi devono avere un valore in byte medio inferiore o uguale a 80. ( verificatore )
1 pppery Oct 05 2020 at 00:31

Befunge-98 (PyFunge) , 13 byte, turno 5

(il turno 4 era un farkle implicito)

"PDPF"4(~FP@

Questa risposta è lungi dall'essere vincente, ma includo alcuni personaggi di cui un programma medio in questa lingua avrà probabilmente bisogno, e manterrò viva la sfida.

Provalo online!

Risposta precedente

Regole:

  • I programmi potrebbero non raggiungere l'obiettivo finale (ultimo turno)
  • La lunghezza minima del programma è di 10 byte (ultimo turno)
  • I programmi devono contenere il carattere ~ (1 svolta a sinistra)
  • I programmi devono avere un valore di byte medio inferiore o uguale a 80. (2 giri a sinistra)
  • Il programma deve includere 5-10 caratteri non alfanumerici (3 giri a sinistra!)
  • I programmi non possono contenere 2 lettere minuscole consecutive (5 giri a sinistra)