Mais Codington Crescent

Sep 20 2020

Quem está pronto para uma segunda tentativa?

Se você já ouviu o programa de rádio "Sinto muito, não tenho a menor idéia", provavelmente já ouviu falar do jogo "Mornington Crescent". Para quem ainda não viu, é um jogo em que os jogadores nomeiam estações aleatórias na rede do metrô de Londres. A primeira pessoa a nomear "Mornington Crescent" ganha o jogo. 1

Muito parecido com a última vez , apresento a vocês outro jogo de Codington Crescent .

O desafio

O vencedor deste desafio é a primeira pessoa a publicar um programa de trabalho que, dada uma lista de números inteiros positivos de tamanho variável, devolve a média (média aritmética) dessa lista. A lista não ficará vazia e sempre terá pelo menos um item. A entrada e a saída podem ser fornecidas em qualquer formato razoável e conveniente

Casos de teste

[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

Gerador de caso de teste

As regras

  1. Cada jogador tem seu próprio programa que irá adicionar / alterar personagens. Isso é denominado seu programa em execução .
Dessa forma, o único aspecto do encadeamento de respostas são as regras. Todo mundo usa seu próprio programa em execução. Ninguém compartilha um programa
  1. Cada resposta (um turno ) deve obedecer às restrições de fonte definidas pelas respostas anteriores. Essas são chamadas de regras . Cada variante dura 5 turnos . As regras estão na forma de restrições de fonte restrita.

  2. Os programas em execução podem alterar o idioma entre as curvas.

  3. Os respondentes (jogadores) podem adicionar, alterar ou remover (mas apenas uma das opções) quantos personagens de seu programa em execução por turno. Alternativamente, eles podem escolher "passar" ( mais cientificamente , farkle ), sem adicionar novas regras e ainda contando como uma jogada. Essa pode ser a única escolha se as regras entrarem em conflito umas com as outras. A contagem de turnos ainda é incrementada e deve ser postada. Dica profissional: você provavelmente pode querer marcá-lo como wiki da comunidade porque não acrescenta muito.

  4. No final de cada turno, o jogador declara uma nova regra que irá abranger os próximos 5 turnos. As regras devem ser objetivas e um programa de verificação de TIO é altamente recomendado. Além disso, as regras devem ser aplicadas a todos os idiomas (por exemplo, Programs must not error using Python 3.4.2não é uma regra válida).

  5. O jogo continua até que um programa em execução alcance o resultado desejado.

  6. Se um turno não for executado por uma semana, um farkle implícito ocorrerá. Você sempre pode dar uma volta após um farkle implícito, pois ele conta como uma vez (pense nisso como a vez do usuário da Comunidade).

Regras iniciais

Para começar o jogo, os primeiros 5 turnos devem seguir estas regras:

  1. As curvas podem não atingir o objetivo final
  2. O comprimento mínimo do programa é 10 bytes

Regras Permanentes

Da última vez, notou-se que as seguintes regras eram mais adequadas como regra permanente do que como regra de 5 voltas:

  1. Os programas em execução devem ser irredutíveis. Irredutível neste caso significa que o programa não produz a saída de todo o programa se os caracteres de todo o programa forem removidos. Ie. Não existe um programa que tenha a mesma saída padrão que possa ser construída removendo caracteres do programa original.)

  2. Um programa não pode vencer dentro de 5 turnos após sua primeira aparição

Regras de exemplo

Esses são apenas exemplos do que você pode adicionar como regras ao desafio. Eles não se aplicam a menos que alguém decida usá-los.

  • O primeiro e o último caractere do programa em execução deve ser um espaço
  • Os programas em execução devem ter uma quantidade uniforme de bytes
  • Os programas em execução não devem ter mais de 30 bytes

Regras de encadeamento de respostas extras

  • Você não pode responder duas vezes seguidas. Alguém precisa responder antes de você tentar novamente.
  • Os idiomas precisam estar no Try It Online para serem respostas válidas.

Dica de profissional: classifique pelo mais antigo para obter um fluxo de respostas mais coeso

1 O jogo original de Mornington Crescent realmente não tem regras ... É mais uma atividade que parece um jogo complicado.

Modelo de Resposta

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

Respostas

3 SunnyMoon Sep 20 2020 at 22:05

05AB1E , curva 3

$XY~sDOsg/*+

Experimente online!

(Como faço para vincular à resposta anterior?)

Cara, eu amo o Code Golf!

Explicação

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

Regras atuais

  • As curvas podem não atingir o objetivo final - Imprime o triplo da média mais um ( 2 curvas à esquerda! )
  • O comprimento mínimo do programa é de 10 bytes (3 voltas à esquerda) - O comprimento do programa é de 12 bytes ( 2 voltas à esquerda! )
  • Os programas devem conter o caractere ~ - O caractere deve empurrar o OR bit a bit de 1 e 2 ( 3 voltas para a esquerda! )
  • Os programas devem ter um valor de byte médio menor ou igual a 80 - O valor de byte médio do programa é 79,25 (4 voltas para a esquerda!)

A nova regra

Drumroll


O programa deve incluir 5-10 caracteres não alfanuméricos (5 voltas à esquerda!)

2 Noname Sep 20 2020 at 08:20

Io , 20 bytes

Retorna a média + 1.

method(~,~average+1)

Experimente online!

Regras

as primeiras 5 voltas devem seguir estas regras:

  • As curvas podem não atingir o objetivo final
  • O comprimento mínimo do programa é 10 bytes

isso se aplica a todos os programas em execução:

  • Os programas em execução devem ser irredutíveis. Irredutível neste caso significa que o programa não produz a saída de todo o programa se os caracteres de todo o programa forem removidos. Ie. Não existe um programa que tenha a mesma saída padrão que possa ser construída removendo caracteres do programa original.)

  • Um programa não pode vencer dentro de 5 turnos após sua primeira aparição

Nova regra:

  • Os programas devem conter o ~caractere
2 pxeger Sep 20 2020 at 18:42

Python 3 , 23 bytes, turno 2

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

Experimente online!

Entrada como uma lista de flutuadores; saídas como um float.

Regras

Regras permanentes:

  • Os programas em execução devem ser irredutíveis. Irredutível neste caso significa que o programa não produz a saída de todo o programa se os caracteres de todo o programa forem removidos. Ie. Não existe um programa que tenha a mesma saída padrão que possa ser construída removendo caracteres do programa original.)

  • Um programa não pode vencer dentro de 5 turnos após sua primeira aparição

Regras atuais:

  • As curvas podem não atingir o objetivo final (3 curvas à esquerda)
  • O comprimento mínimo do programa é 10 bytes (3 voltas à esquerda)
  • Os programas devem conter o ~personagem (4 voltas à esquerda)

Minha nova regra:

  • Os programas devem ter um valor médio de byte menor ou igual a 80. ( verificador )
1 pppery Oct 05 2020 at 00:31

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

(o turno 4 foi um farkle implícito)

"PDPF"4(~FP@

Esta resposta está longe de vencer, mas estou incluindo alguns personagens de que um programa comum neste idioma provavelmente precisará, e mantendo o desafio vivo.

Experimente online!

Resposta anterior

Regras:

  • Os programas podem não atingir o objetivo final (última volta)
  • O comprimento mínimo do programa é de 10 bytes (última volta)
  • Os programas devem conter o caractere ~ (1 vire à esquerda)
  • Os programas devem ter um valor médio de byte menor ou igual a 80. (2 voltas à esquerda)
  • O programa deve incluir 5-10 caracteres não alfanuméricos (3 voltas à esquerda!)
  • Os programas não podem conter 2 letras minúsculas consecutivas (5 voltas à esquerda)