もっとコディントンクレセント

Sep 20 2020

誰が2回目の試みをしますか?

「ごめんなさい、手がかりがありません」というラジオ番組を聞いたことがあれば、おそらく「モーニントン・クレセント」というゲームを聞いたことがあるでしょう。まだお持ちでない方のために、これはプレイヤーがロンドン地下鉄ネットワーク上のランダムなステーションに名前を付けるゲームです。「モーニントンクレセント」と名付けた最初の人がゲームに勝ちます。1

前回と同じように、CodingtonCrescentの別のゲームを紹介します。

挑戦

このチャレンジの勝者は、正の整数の可変サイズのリストが与えられた場合に、そのリストの平均(算術平均)を返す作業プログラムを投稿した最初の人です。リストは空ではなく、常に少なくとも1つのアイテムが含まれます。入力と出力は、合理的で便利な形式で指定できます

テストケース

[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

テストケースジェネレーター

ルール

  1. 各プレイヤーには、キャラクターを追加/変更する独自のプログラムがあります。これは、実行中のプログラムと呼ばれます。
このように、唯一の回答連鎖の側面はルールです。誰もが自分の実行中のプログラムを使用しています。誰もプログラムを共有しません
  1. 各回答(ターン)は、前の回答で定義されたソース制限に従う必要があります。これらはルールと呼ばれます。各バリアントは5ターン続きます。ルールは、ソース制限の形式になっています。

  2. プログラムを実行すると、ターン間で言語を変更できます。

  3. 回答者(プレイヤー)は、実行中のプログラムのキャラクターを1ターンに好きなだけ追加、変更、または削除できます(ただし、オプションの1つのみ)。あるいは、彼らは「合格」(より科学的にはファークル)を選択し、新しいルールを追加せずに、ターンとしてカウントすることもできます。ルールが互いに競合する場合は、これが唯一の選択肢になる可能性があります。ターンカウントはまだインクリメントされており、投稿されます。上級者向けのヒント:あまり追加されないため、コミュニティwikiとしてマークを付けることをお勧めします。

  4. 各ターンの終わりに、プレイヤーは次の5ターンにまたがる新しいルールを宣言します。ルールは客観的でなければならず、TIO検証プログラムを強くお勧めします。また、ルールはすべての言語に適用できる必要があります(たとえばPrograms must not error using Python 3.4.2、有効なルールではありません)。

  5. 実行中のプログラムが目標の結果を達成するまで、再生は続行されます。

  6. ターンが1週間行われなかった場合、暗黙のファークルが発生します。ターンとしてカウントされるため、暗黙のファークルの後にいつでもターンを行うことができます(コミュニティユーザーのターンと考えてください)。

開始ルール

ゲームを開始するには、最初の5ターンは次のルールに従う必要があります。

  1. ターンは最終目標を達成しない可能性があります
  2. プログラムの最小長は10バイトです

恒久的なルール

前回、次のルールが5ターンルールよりも永続ルールとして適していることが指摘されました。

  1. 実行中のプログラムは既約でなければなりません。この場合の既約とは、プログラム全体の文字が削除された場合に、プログラムがプログラム全体の出力を生成しないことを意味します。つまり、元のプログラムから文字を削除して作成できるデフォルトの同じ出力を持つプログラムは存在しません。)

  2. プログラムは、最初の登場から5ターン以内に勝つことはできません

ルールの例

これらは、チャレンジにルールとして追加できるものの純粋な例です。誰かがそれらを使用することを決定しない限り、それらは適用されません。

  • 実行中のプログラムの最初と最後の文字はスペースでなければなりません
  • 実行中のプログラムには、偶数のバイトが必要です
  • 実行中のプログラムは30バイトを超えてはなりません

追加の回答連鎖ルール

  • 2回続けて答えることはできません。あなたがもう一度行く前に、他の誰かが答える必要があります。
  • 有効な回答を得るには、言語がオンラインで試す必要があります。

ヒント:よりまとまりのある回答の流れを得るには、最も古いもので並べ替えます

1モーニントン・クレセントのオリジナルのゲームには実際にはルールがありません...それは複雑なゲームのように見えるアクティビティのようなものです。

回答テンプレート

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

回答

3 SunnyMoon Sep 20 2020 at 22:05

05AB1E、ターン3

$XY~sDOsg/*+

オンラインでお試しください!

(以前の回答にリンクするにはどうすればよいですか?)

私はコードゴルフが大好きです!

説明

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

現在のルール

  • ターンは最終目標を達成しない可能性があります-平均のトリプルプラス1を出力します(左に2ターン!)
  • プログラムの最小長は10バイト(左に3ターン)-プログラムの長さは12バイト(左に2ターン!)
  • プログラムには〜文字が含まれている必要があります-文字は1と2のビットごとのORを押すことになっています(左に3回転します!)
  • プログラムの平均バイト値は80以下である必要があります-プログラムの平均バイト値は79.25です(左に4回転します!)

新しいルール

ドラムロール


プログラムには、5〜10文字の英数字以外の文字を含める必要があります(左に5回転!)

2 Noname Sep 20 2020 at 08:20

Io、20バイト

平均+1を返します。

method(~,~average+1)

オンラインでお試しください!

ルール

最初の5ターンは、次のルールに従う必要があります。

  • ターンは最終目標を達成しない可能性があります
  • プログラムの最小長は10バイトです

これは、実行中のすべてのプログラムに適用されます。

  • 実行中のプログラムは既約でなければなりません。この場合の既約とは、プログラム全体の文字が削除された場合に、プログラムがプログラム全体の出力を生成しないことを意味します。つまり、元のプログラムから文字を削除して作成できるデフォルトの同じ出力を持つプログラムは存在しません。)

  • プログラムは、最初の登場から5ターン以内に勝つことはできません

新しいルール:

  • プログラムには~文字が含まれている必要があります
2 pxeger Sep 20 2020 at 18:42

Python 3、23バイト、ターン2

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

オンラインでお試しください!

フロートのリストとして入力します。フロートとして出力します。

ルール

恒久的なルール:

  • 実行中のプログラムは既約でなければなりません。この場合の既約とは、プログラム全体の文字が削除された場合に、プログラムがプログラム全体の出力を生成しないことを意味します。つまり、元のプログラムから文字を削除して作成できるデフォルトの同じ出力を持つプログラムは存在しません。)

  • プログラムは、最初の登場から5ターン以内に勝つことはできません

現在のルール:

  • ターンは最終目標を達成できない場合があります(左に3ターン)
  • プログラムの最小長は10バイトです(左に3ターン)
  • プログラムには~文字が含まれている必要があります(左に4回転)

私の新しいルール:

  • プログラムの平均バイト値は80以下である必要があります。(検証者)
1 pppery Oct 05 2020 at 00:31

Befunge-98(PyFunge)、13バイト、ターン5

(ターン4は暗黙のファークルでした)

"PDPF"4(~FP@

この答えは勝つにはほど遠いですが、私はこの言語の平均的なプログラムがおそらく必要とするであろういくつかのキャラクターを含めて、挑戦を生き続けています。

オンラインでお試しください!

前の答え

ルール:

  • プログラムが最終目標を達成できない可能性があります(最終ターン)
  • プログラムの最小長は10バイト(最終ターン)です
  • プログラムには〜文字が含まれている必要があります(左に1回転)
  • プログラムの平均バイト値は80以下である必要があります。(左に2ターン)
  • プログラムには、5〜10文字の英数字以外の文字を含める必要があります(左に3回転!)
  • プログラムに2つの連続した小文字を含めることはできません(左に5回転)