Mehr Codington Crescent

Sep 20 2020

Wer ist bereit für einen zweiten Versuch?

Wenn Sie jemals das Radioprogramm "Es tut mir leid, ich habe keine Ahnung" gehört haben, dann haben Sie wahrscheinlich von dem Spiel "Mornington Crescent" gehört. Für diejenigen, die dies nicht getan haben, ist es ein Spiel, bei dem die Spieler zufällige Stationen im Londoner U-Bahn-Netz benennen. Die erste Person, die "Mornington Crescent" nennt, gewinnt das Spiel. 1

Sehr ähnlich wie beim letzten Mal präsentiere ich Ihnen ein weiteres Spiel von Codington Crescent .

Die Herausforderung

Der Gewinner dieser Herausforderung ist die erste Person, die ein Arbeitsprogramm veröffentlicht, das bei einer Liste mit positiven Ganzzahlen variabler Größe den Durchschnitt (arithmetisches Mittel) dieser Liste zurückgibt. Die Liste ist nicht leer und enthält immer mindestens ein Element. Eingabe und Ausgabe können in jedem vernünftigen und bequemen Format erfolgen

Testfälle

[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

Testfallgenerator

Die Regeln

  1. Jeder Spieler hat sein eigenes Programm, mit dem er Charaktere hinzufügt / ändert. Dies wird als laufendes Programm bezeichnet .
Auf diese Weise sind die Regeln der einzige Aspekt bei der Verkettung von Antworten. Jeder benutzt sein eigenes laufendes Programm. Niemand teilt überhaupt ein Programm
  1. Jede Antwort (eine Runde ) muss den Quellenbeschränkungen entsprechen, die durch vorherige Antworten definiert wurden. Diese werden Regeln genannt . Jede Variante dauert 5 Runden . Regeln sind in Form von Beschränkungen für eingeschränkte Quellen .

  2. Das Ausführen von Programmen kann zwischen den Runden die Sprache wechseln.

  3. Beantworter (Spieler) können so viele Charaktere ihres laufenden Programms pro Spielzug hinzufügen, ändern oder entfernen (aber nur eine der Optionen), wie sie möchten. Alternativ können sie wählen, ob sie "bestehen" ( wissenschaftlicher , farkle ), keine neuen Regeln hinzufügen und trotzdem als Zug zählen. Dies kann die einzige Wahl sein, wenn Regeln miteinander in Konflikt stehen. Die Anzahl der Runden ist noch erhöht und muss gebucht werden. Pro-Tipp: Vielleicht möchten Sie es als Community-Wiki markieren, weil es nicht viel hinzufügt.

  4. Am Ende jeder Runde erklärt der Spieler eine neue Regel, die die nächsten 5 Runden umfasst. Die Regeln müssen objektiv sein, und ein TIO-Überprüfungsprogramm wird dringend empfohlen. Außerdem müssen Regeln auf jede Sprache angewendet werden können (z. B. Programs must not error using Python 3.4.2keine gültige Regel).

  5. Das Spiel wird fortgesetzt, bis ein laufendes Programm das Zielergebnis erreicht.

  6. Wenn eine Woche lang keine Runde gemacht wurde, tritt ein implizites Farkle auf. Sie können nach einem impliziten Farkle immer eine Runde machen, da dies als Runde zählt (stellen Sie sich dies als die Runde des Community-Benutzers vor).

Startregeln

Um das Spiel zu starten, müssen die ersten 5 Runden den folgenden Regeln folgen:

  1. Runden erreichen möglicherweise nicht das Endziel
  2. Die minimale Programmlänge beträgt 10 Bytes

Permanente Regeln

Beim letzten Mal wurde festgestellt, dass die folgenden Regeln besser als permanente Regel als als 5-Runden-Regeln geeignet sind:

  1. Laufende Programme müssen nicht reduzierbar sein. Irreduzibel bedeutet in diesem Fall, dass das Programm nicht die Ausgabe des gesamten Programms erzeugt, wenn Zeichen aus dem gesamten Programm entfernt werden. Dh. Es gibt kein Programm mit der gleichen Standardausgabe, die durch Entfernen von Zeichen aus dem ursprünglichen Programm erstellt werden kann.)

  2. Ein Programm kann nicht innerhalb von 5 Runden nach seinem ersten Erscheinen gewinnen

Beispielregeln

Dies sind nur Beispiele dafür, was Sie der Herausforderung als Regeln hinzufügen können. Sie gelten nicht, es sei denn, jemand beschließt, sie zu verwenden.

  • Das erste und letzte Zeichen des laufenden Programms muss ein Leerzeichen sein
  • Ausführende Programme müssen eine gerade Anzahl von Bytes haben
  • Ausführende Programme dürfen nicht länger als 30 Byte sein

Verkettungsregeln für zusätzliche Antworten

  • Sie können nicht zweimal hintereinander antworten. Jemand anderes muss antworten, bevor Sie es erneut versuchen.
  • Sprachen müssen auf Try It Online sein, um gültige Antworten zu erhalten.

Pro-Tipp: Sortieren Sie nach Ältesten, um einen zusammenhängenderen Antwortfluss zu erzielen

1 Das ursprüngliche Spiel von Mornington Crescent hat nicht wirklich Regeln ... Es ist eher eine Aktivität, die aussieht, als wäre es ein kompliziertes Spiel.

Antwortvorlage

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

Antworten

3 SunnyMoon Sep 20 2020 at 22:05

05AB1E , Kurve 3

$XY~sDOsg/*+

Probieren Sie es online aus!

(Wie verlinke ich zur vorherigen Antwort?)

Junge, liebe ich Code Golf?

Erläuterung

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

Aktuelle Regeln

  • Runden erreichen möglicherweise nicht das Endziel - Druckt das Dreifache des Durchschnitts plus eins ( 2 Runden nach links! )
  • Die minimale Programmlänge beträgt 10 Bytes (3 Umdrehungen nach links) - Die Länge des Programms beträgt 12 Bytes ( 2 Umdrehungen nach links! )
  • Programme müssen das Zeichen ~ enthalten - Das Zeichen soll das bitweise ODER von 1 und 2 drücken ( 3 Umdrehungen nach links! )
  • Programme müssen einen durchschnittlichen Bytewert von weniger als oder gleich 80 haben - Der durchschnittliche Bytewert des Programms beträgt 79,25 (4 Umdrehungen nach links!)

Die neue Regel

Trommelwirbel


Das Programm muss 5-10 nicht alphanumerische Zeichen enthalten (5 Umdrehungen nach links!)

2 Noname Sep 20 2020 at 08:20

Io , 20 Bytes

Gibt den Durchschnitt + 1 zurück.

method(~,~average+1)

Probieren Sie es online aus!

Regeln

Die ersten 5 Runden müssen diesen Regeln folgen:

  • Runden erreichen möglicherweise nicht das Endziel
  • Die minimale Programmlänge beträgt 10 Bytes

Dies gilt für alle laufenden Programme:

  • Laufende Programme müssen nicht reduzierbar sein. Irreduzibel bedeutet in diesem Fall, dass das Programm nicht die Ausgabe des gesamten Programms erzeugt, wenn Zeichen aus dem gesamten Programm entfernt werden. Dh. Es gibt kein Programm mit der gleichen Standardausgabe, die durch Entfernen von Zeichen aus dem ursprünglichen Programm erstellt werden kann.)

  • Ein Programm kann nicht innerhalb von 5 Runden nach seinem ersten Erscheinen gewinnen

Neue Regel:

  • Programme müssen das ~Zeichen enthalten
2 pxeger Sep 20 2020 at 18:42

Python 3 , 23 Bytes, Turn 2

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

Probieren Sie es online aus!

Eingabe als Liste von Floats; Ausgänge als Float.

Regeln

Permanente Regeln:

  • Laufende Programme müssen nicht reduzierbar sein. Irreduzibel bedeutet in diesem Fall, dass das Programm nicht die Ausgabe des gesamten Programms erzeugt, wenn Zeichen aus dem gesamten Programm entfernt werden. Dh. Es gibt kein Programm mit der gleichen Standardausgabe, die durch Entfernen von Zeichen aus dem ursprünglichen Programm erstellt werden kann.)

  • Ein Programm kann nicht innerhalb von 5 Runden nach seinem ersten Erscheinen gewinnen

Aktuelle Regeln:

  • Runden erreichen möglicherweise nicht das Endziel (3 Runden nach links)
  • Die minimale Programmlänge beträgt 10 Bytes (3 Umdrehungen nach links).
  • Programme müssen das ~Zeichen enthalten (4 Umdrehungen nach links)

Meine neue Regel:

  • Programme müssen einen durchschnittlichen Bytewert von höchstens 80 haben. ( Verifizierer )
1 pppery Oct 05 2020 at 00:31

Befunge-98 (PyFunge) , 13 Bytes, Runde 5

(Runde 4 war ein implizites Farkle)

"PDPF"4(~FP@

Diese Antwort ist alles andere als erfolgreich, aber ich schließe einige Charaktere ein, die ein durchschnittliches Programm in dieser Sprache wahrscheinlich benötigt, und halte die Herausforderung am Leben.

Probieren Sie es online aus!

Vorherige Antwort

Regeln:

  • Programme erreichen möglicherweise nicht das Endziel (letzte Runde)
  • Die minimale Programmlänge beträgt 10 Bytes (letzte Runde)
  • Programme müssen das Zeichen ~ enthalten (1 links abbiegen)
  • Programme müssen einen durchschnittlichen Bytewert von höchstens 80 haben. (2 Umdrehungen nach links)
  • Das Programm muss 5-10 nicht alphanumerische Zeichen enthalten (3 Umdrehungen nach links!)
  • Programme dürfen nicht 2 aufeinanderfolgende Kleinbuchstaben enthalten (5 Umdrehungen nach links)