Editar: permitido reutilizar espaços em branco.
Sua tarefa é escrever n programas (ou funções, ou corpos de funções sem usar parâmetros ou os nomes das funções) no mesmo idioma. O k ésimo programa deve gerar o número (cardinal) k em inglês padrão em minúsculas (com uma nova linha à direita opcional). Portanto, o primeiro programa deve produzir one
, o segundo deve produzir two
, etc. Para um número com duas partes, eles devem ser separados por um hífen twenty-one
.
Mas não há dois programas no seu envio que possam compartilhar caracteres que não sejam espaços em branco ou caracteres em branco, fazendo trabalhos úteis. Por exemplo, se o seu primeiro programa é apenas "one"
, em seguida, nenhum dos "
o
n
e e
pode ser usado novamente em seus outros programas.
Você pode usar caracteres de espaço em branco (espaços, novas linhas e guias) em dois ou mais programas, se eles servem apenas como separadores ou recuo e não fazem nada sozinhos. Portanto, você não pode reutilizá-los na linguagem Whitespace e não pode usá-los em strings em mais de um programa.
Você pode usar apenas caracteres ASCII, guias e novas linhas imprimíveis (incluindo CR e LF). Todo programa deve conter pelo menos 1 caractere.
Sua pontuação é a soma do tamanho de 1 / programa ^ 1,5. Maior pontuação ganha. Você pode usar esse snippet de pilha ( ou esse código CJam ) para calcular sua pontuação:
function updatescore(a){var l=a.value.split("\n"),s=0;for(var i=0;i<l.length;i++){var t=l[i].length;t-=t&&l[i][t-1]=="\r";if(t)s+=Math.pow(t,-1.5);}document.getElementById('result').textContent=s;}
<textarea id="input" placeholder="Put your code here, one per line." style="width:100%;height:150px;box-sizing:border-box" oninput="updatescore(this)" onpropertychange="updatescore(this)"></textarea><div>Your score: <span id="result">0</span></div>
fonte
Respostas:
gs2 , 0.38669200758867045
Remova o espaço em branco de todos esses programas, mas três , é apenas para legibilidade (tosse) . um e seis são programas gs2 que travam (com a pilha insuficiente), que convenientemente torna .
um (3 bytes)
dois (1384 bytes)
três (92 bytes)
Muito espaço em branco significativo, então aqui está um despejo hexadecimal. Ele tem um caractere de alimentação de linha única no início:
quatro (276 bytes)
cinco (178 bytes)
seis (3 bytes)
fonte
20
através7E
,09
(guia),0A
(LF), e0D
(CR), certo?1
em cinco foi um erro de digitação; Eu fui e o removi. Vou consertar três agora.CJam, 0.24075
Programas
Obrigado a @ user23013 por sua sugestão de usar
'
por seis .Saída, comprimento, pontuação, caracteres usados
Verifique os resultados você mesmo no intérprete CJam .
fonte
Insônia , 0.100688383057110116
Apenas para começar. É muito improvável que isso vença. Sob o esquema de pontuação atual, qualquer idioma que possa imprimir
one
em 5 ou menos caracteres tem uma vantagem impressionante.um (8 bytes, 0,04419417382415922)
dois (9 bytes, 0,037037037037037035)
três (21 bytes, 0,010391328106475828)
quatro (23 bytes, 0.009065844089438033)
fonte
Headsecks , 0.044623631135793776
Gerado aqui
Essa linguagem é uma substituição simples de AM, onde a única coisa que importa é o valor do caractere módulo 8.
Infelizmente, programas mais longos dão uma pontuação pior, apesar de serem capazes de doze ! (Eu poderia ficar mais alto se pudesse usar ASCII não imprimível e Unicode.)
1
dois
três
quatro
cinco
seis
Sete
oito
nove
dez
onze
doze
fonte
/// , 0.19245008972987526
Esta resposta é inspirada na resposta de @ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̷̨̰́̀ĥ̷̳, na qual ele disse
fonte
SmileBASIC, .10062
"1"
"dois"
Minha outra resposta é mais interessante, mas esta recebe uma pontuação mais alta.
Uma estratégia importante para obter a cadeia mais longa é usar mais caracteres para salvar caracteres UNIQUE (por exemplo, usar
x - -x
no programa 2 para salvary + y
no programa 3)O problema com o sistema de pontuação é que ele classifica 2 programas curtos melhores que 3 programas longos, portanto, não há motivo para salvar caracteres para programas posteriores, se prolongar o programa atual.
Além disso, valoriza programas curtos individuais maiores que um tamanho TOTAL menor. Se eu trocar
?
ePRINT
na minha resposta, posso salvar 1 caractere, mas minha pontuação é MEIO.Eu acho que seria melhor basear isso apenas no número de programas, com tamanho total como desempate.
fonte
o
...