Meu chefe * não entende por que seus programadores reagem negativamente aos usuários que mudam os requisitos do programa. Ajude-a a entender! Em cada resposta, crie um novo requisito. Em seguida, escreva um programa / função que resolva esse requisito e todos os requisitos anteriores, enquanto estiver em uma nova linguagem de programação.
Exemplos
O usuário 1 publica a primeira resposta. Ele especifica que o programa deve emitir "Olá, mundo". Ele cria um programa em Java que exibe "Olá, mundo".
O usuário 2 publica a segunda resposta. Ela especifica que o programa deve aceitar a entrada n ea saída do n º privilegiada, até o idioma número máximo. Ela cria um programa em C ++ que aceita entrada n e emite o n º prime e saídas "Olá, mundo". Ela não poderia ter criado um programa em Java.
O usuário 3 publica a terceira resposta. Ele especifica que a fonte do programa não pode conter o texto "Olá". Ele cria uma função em Python que aceitam a entrada n e emite o n º nobre e "Olá, mundo". enquanto não estiver usando o texto "Olá" em sua fonte. Ele não poderia ter criado um programa em Java ou C ++.
Formato da resposta
#Answer # - <language name> [version, if pertinent]
Requirement: <rule>.
<code>
[explanations, encoding, TIO link, etc.]
Regras de resposta
A resposta deve seguir o formato acima, ou similar.
A resposta pode ser um programa ou uma função.
A resposta deve atender a todos os requisitos, inclusive a resposta atual.
O mesmo usuário não pode postar duas respostas seguidas.
Se duas respostas são postadas com o mesmo número, a que foi postada mais tarde deve ser excluída.
Não edite seus requisitos, a menos que você tenha estragado tudo e nenhuma outra resposta tenha sido publicada.
Se sua resposta não estiver de acordo com sua regra e com todas as outras regras, ela será inválida. Tente corrigir isso antes que outra pessoa poste a próxima resposta.
Versões diferentes do mesmo idioma contam apenas como idiomas diferentes se o programa ou a função criada em uma versão se comportar de maneira diferente na outra versão.
A resposta pode não aceitar qualquer entrada não necessária e pode não gerar nada que não seja necessário, exceto o espaço em branco necessário. No entanto, enquanto nos bastidores o programa deve atender a todos os requisitos "ocultos" (do usuário), ele pode fazer o que você quiser, especialmente se você precisa atender a um requisito de tempo de execução.
Regras de Requisitos
O requisito deve especificar apenas um requisito. Esse requisito pode ser condicional e, se esse requisito exigir uma entrada e / ou uma saída, isso poderá ser incluído.
O requisito não pode remover ou modificar requisitos anteriores ou entrar em conflito com eles, mas pode estender um (especifique qual).
Se o requisito restringir a fonte (fonte restrita ) ou exigir texto na fonte, ele poderá remover apenas uma única sequência (por exemplo
0
,Hello
) ou exigir um único caractere.O requisito não pode exigir que a fonte tenha menos de 100 bytes, exija uma codificação específica ou, por si só, descarte a maioria dos idiomas comuns.
O requisito pode não forçar a fonte a obedecer a um determinado padrão (por exemplo, iniciar cada linha com um determinado caractere ou (@Conor) com hash para um determinado valor) diferente do especificado na fonte restrita.
Isso é um encadeamento de respostas , portanto todas as respostas se baseiam nas respostas anteriores. Eu e talvez outros tentaremos manter uma lista de todos os requisitos. Para ver as respostas em ordem, você pode classificar por mais antigo. Para ver a resposta mais recente, classifique pela mais antiga e navegue até o final da lista.
Como ganhar (alterado para voto em espera):
Quando nenhuma resposta é publicada por duas semanas, o desafio termina e as pontuações serão calculadas. As pontuações serão calculadas somando o número total de respostas de cada usuário, mas ponderando as postagens com base em quão distantes estão da cadeia (uma vez que as postagens posteriores têm mais requisitos, são mais difíceis).
Pseudo-código:
for each answer in user.Answers {
score += 1 + (answer.number / 100)
}
Exemplo:
Sally tem três respostas. Ela postou as respostas 5, 7 e 20.
A pontuação dela será 1.05 + 1.07 + 1.2 = 3.32
. Se fosse uma soma direta de respostas, sua pontuação seria 3, mas o peso da profundidade da cadeia recompensa respostas mais difíceis.
Para iniciar:
Aqui está o primeiro requisito, fornecido pelo meu chefe *:
Requisito 0: O programa deve gerar 0 antes de qualquer outra coisa.
* fictício
Lista de requisitos e idiomas
Observe que isso pode estar desatualizado - observe a última resposta postada imediatamente antes de postar sua resposta para garantir que você esteja cumprindo todos os requisitos. Lamento muito que você crie um programa requintado, apenas para alguém o furtar - se você realmente deseja publicá-lo de qualquer maneira, especifique não concorrente.
Requisito completo (mas talvez não atual): Não pode conter
0
,*
ou]
no código-fonte, e não pode usar um ingresso incorporado à nova linha. Saídas0
, em seguida, recebe uma entrada inteira não negativan
e gera uma nova linha seguida pelon
número de Fibonacci indexado a 0 (pode ser1
indexado), seguida por uma nova linha, seguida pela mesma entrada n ao quadrado, seguida por uma nova linha, seguida por uma nova linha, seguida pelan
multiplicação por uma nova entradam
, seguida por uma nova linha, seguida por10^B
, ondeB
é o número de bytes no código-fonte, seguido por uma nova linha, seguida pelo número principaln
th0
indexado (também pode ser1
indexado), seguido por uma nova linha, seguido pelo maior divisor comum de n e m.0: O programa deve produzir
0
antes de qualquer outra coisa. Idioma: N / A
1: A fonte do programa não pode conter0
. Idioma: 05AB1E
2: O programa obtém uma entrada inteira não negativan
e gera uma nova linha seguida do0
n-ésimo número de Fibonacci não1
indexado (pode ser indexado). Idioma: dc
3: O programa gera uma nova linha, seguida pela mesma entradan
ao quadrado. Idioma: J
4: O programa gera uma nova linha, seguida pelan
multiplicada por uma nova entradam
. Idioma: Ohm
5: O programa não pode conter*
(código ASCII0x2A
). Idioma: Python 3
6: O programa gera uma nova linha, seguida de10^B
, ondeB
é o número de bytes no código-fonte. Idioma: Mathematica
7: O programa gera uma nova linha, seguida pelo número principaln
th0
indexado (também pode ser1
indexado). Idioma: JavaScript (ES6)
8: O programa não usa um ingresso incorporado em novas linhas, mas pode usar qualquer outro ingresso incorporado. Idioma: Geléia
9: O programa gera uma nova linha seguida pelo Maior Divisor Comum de n e m. Idioma: Scala
10: O programa não pode conter]
. Idioma: Pyth
Pontuações atuais (ordenadas pela primeira postagem)
Okx : 1,01
R. Kap : 2,09
Conor O'Brien : 1,03
Nick Clifford : 1,04
Eric Rose : 1,05
Greg Martin : 1,06
Erik, o exaltador : 2,18
math_junkie : 1,09
fonte
Respostas:
Resposta 10 - Pyth
Requisito: Aceita duas entradas,
n
(> = 0) em
. Saídas0
sem o uso de0
,*
ou]
em qualquer lugar do código-fonte, e sem recursos internos para ingressar em novas linhas. Em seguida, gera uma nova linha seguida pelo1
n-ésimo número de Fibonacci (pode ser0
indexado), seguida por uma nova linha, seguida porn
quadrado, seguida por uma nova linha, seguida porn
multiplicada porm
, seguida por uma nova linha, seguida por10^B
ondeB
é o número de bytes no código-fonte, seguido por uma nova linha e o número primon
th-1
indexado (também pode ser0
-indexed) e, finalmente, seguido por uma nova linha e pelo Maior Divisor Comum de n e m.Intérprete online
fonte
j
vez dejb
, pois então eu usaria uma junção em novas linhas incorporada.Resposta 1 - 05AB1E
Requisito: Imprime
0
... sem um0
no código-fontefonte
Resposta 3 - J
Requisito: Saídas
0
sem0
no código-fonte, em seguida, recebemn
uma entrada inteira não negativa e0
emitem uma nova linha seguida don
número de Fibonacci1
indexado (pode ser indexado), seguido por uma nova linha seguida pela mesma entradan
ao quadrado.Experimente online!
fonte
Resposta 4 - Ohm
Requisito: Saídas
0
sem0
no código-fonte, em seguida, recebem uma entrada inteira não negativan
e emitem uma nova linha seguida pelon
número de Fibonacci indexado a 0 (pode ser 1 indexado), seguido por uma nova linha, seguida pela mesma entrada n ao quadrado, seguido por uma nova linha, seguido porn
multiplicado por uma nova entradam
.fonte
Resposta 2 - dc
Requisito: Saídas
0
sem0
no código-fonte, em seguida, recebemn
uma entrada inteira não negativa e0
emitem uma nova linha seguida don
número de Fibonacci não1
indexado (pode ser indexado).Experimente online!
fonte
Resposta 5 - Python 3
Requisitos: Saídas 0 sem 0 no código-fonte, em seguida, recebem uma entrada inteira não negativa n e emite uma nova linha seguida pelo n-ésimo número de Fibonacci (pode ser 1 indexado), seguido por uma nova linha, seguida pela mesma entrada n ao quadrado, seguido por uma nova linha, seguido por n multiplicado por uma nova entrada m. Não use o caractere
*
, código ASCII 0x2A.fonte
Resposta 6 - Mathematica
Requisito: As saídas 0 sem 0 ou * no código-fonte, em seguida, recebem uma entrada inteira não negativa n e emite uma nova linha seguida pelo n-ésimo número de Fibonacci (pode ser 1 indexado), seguido por uma nova linha, seguida pelo mesma entrada n ao quadrado, seguida por uma nova linha, seguida por n multiplicada por uma nova entrada m, seguida por uma nova linha, seguida por 10 ^ B em que B é o número de bytes no código-fonte.
fonte
Resposta 7 - JavaScript (ES6)
: Exigência de função A, que tem duas entradas, um número inteiro não negativo
n
e qualquer númerom
e retorna uma cadeia de caracteres contendo0
sem a utilização de0
qualquer parte do código de fonte, então uma nova linha seguido do0
indexada ao dólarn
th número de Fibonacci (pode ser1
indexado), seguido por uma nova linha, seguida porn
quadrado, seguida por uma nova linha, seguida porn
multiplicada porm
sem o uso de*
qualquer lugar no código-fonte, seguida por uma nova linha, seguida por10^B
ondeB
está o número de bytes no código-fonte e, finalmente, seguida por um nova linha e o número principaln
th0
indexado (também pode ser1
indexado).Snippet de teste
Mostrar snippet de código
fonte
String.fromCharCode(48)
para1-1
. Não que isso realmente importa ;-) (Além disso, existem dois zeros mais tarde no código fonte, que você pode corrigir, da mesma forma)Resposta 8 - Geléia
Uma função que tem duas entradas, um número inteiro não negativo: requisito
n
e qualquer númerom
e retorna uma cadeia de caracteres contendo0
sem a utilização de0
qualquer parte do código de fonte, então uma nova linha seguido do0
indexada ao dólarn
th número de Fibonacci (pode ser1
indexado), seguido por uma nova linha, seguida porn
quadrado, seguida por uma nova linha, seguida porn
multiplicada porm
sem o uso de*
qualquer lugar no código-fonte, seguida por uma nova linha, seguida por10^B
ondeB
está o número de bytes no código-fonte e, finalmente, seguida por um nova linha e on
th-0
index (também pode ser1
(primo) (indexado). Não são permitidos embutidos para ingressar em novas linhas, mas ainda é permitido ingressar em embutidos.Experimente online!
fonte
Resposta 9 - Scala
Requisitos : Aceita duas entradas,
n
(> = 0) em
. Saídas0
sem o uso de0
ou*
em qualquer lugar no código-fonte e sem recursos internos para ingressar em novas linhas. Em seguida, gera uma nova linha seguida pelo1
n-ésimo número de Fibonacci (pode ser0
indexado), seguida por uma nova linha, seguida pelon
quadrado, seguida por uma nova linha, seguida porn
multiplicada porm
, seguida por uma nova linha, seguida por10^B
ondeB
é o número de bytes no código-fonte, seguido por uma nova linha e o número primon
th-1
indexado (também pode ser0
-indexed) e, finalmente, seguido por uma nova linha e pelo Maior Divisor Comum de n e m.Experimente aqui
fonte