Editar: se permite reutilizar espacios en blanco.
Su tarea es escribir n programas (o funciones, o cuerpos de funciones sin usar parámetros o los nombres de las funciones) en el mismo idioma. El programa k th debería mostrar el número (cardinal) k en inglés estándar en minúsculas (con una nueva línea final opcional). Entonces, el primer programa debería salir one
, el segundo debería salir two
, etc. Para un número que tiene dos partes, deberían estar separados por un guión como twenty-one
.
Pero no hay dos programas en su envío que puedan compartir caracteres que no sean espacios en blanco o caracteres en espacio en blanco haciendo trabajos útiles. Por ejemplo, si su primer programa es justo "one"
, entonces ninguno de "
o
n
y e
puede ser usado nuevamente en sus otros programas.
Puede usar caracteres de espacios en blanco (espacios, líneas nuevas y pestañas) en dos o más programas, si solo sirven como separadores o sangría y no hacen nada por sí mismos. Por lo tanto, no puede reutilizarlos en el lenguaje de espacios en blanco , y no puede usarlos en cadenas en más de un programa.
Solo puede usar caracteres ASCII imprimibles, pestañas y líneas nuevas (incluidos CR y LF). Cada programa debe contener al menos 1 carácter.
Su puntaje es la suma de 1 / tamaño del programa ^ 1.5. La puntuación más alta gana. Puede usar este fragmento de pila ( o este código CJam ) para calcular su puntaje:
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>
fuente
Respuestas:
gs2 , 0.38669200758867045
Elimine los espacios en blanco de todos estos programas, pero tres , es solo para la legibilidad (tos) . uno y seis son programas gs2 que se bloquean (desbordando la pila), lo que convenientemente los convierte en quines .
uno (3 bytes)
dos (1384 bytes)
tres (92 bytes)
Un montón de espacio en blanco significativo, así que aquí hay un volcado hexadecimal. Tiene un solo carácter de avance de línea al inicio:
cuatro (276 bytes)
cinco (178 bytes)
seis (3 bytes)
fuente
20
a través7E
,09
(pestaña),0A
(LF), y0D
(CR), ¿verdad?1
en cinco fue un error tipográfico; Me fui y lo quité. Arreglaré tres ahora.CJam, 0.24075
Programas
Gracias a @ user23013 por su sugerencia de usar
'
para seis .Salida, longitud, puntuación, caracteres usados
Verifique los resultados usted mismo en el intérprete de CJam .
fuente
Insomnio , 0.100688383057110116
Solo para comenzar las cosas. Es muy poco probable que esto vaya a ganar. Según el esquema de puntuación actual, cualquier idioma que pueda imprimir
one
en 5 o menos caracteres tiene una ventaja abrumadora.uno (8 bytes, 0.04419417382415922)
dos (9 bytes, 0.037037037037037035)
tres (21 bytes, 0.010391328106475828)
cuatro (23 bytes, 0.009065844089438033)
fuente
Headsecks , 0.044623631135793776
Generado aquí
Este lenguaje es una simple sustitución de BF donde lo único que importa es el valor de carácter del módulo 8.
Desafortunadamente, los programas más largos dan un puntaje peor, ¡a pesar de poder llegar a doce ! (Podría aumentar si pudiera usar ASCII no imprimible y Unicode).
uno
dos
Tres
cuatro
cinco
seis
Siete
ocho
nueve
diez
once
doce
fuente
/// , 0.19245008972987526
Esta respuesta está inspirada en la respuesta de @ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳, en la que dijo
fuente
SmileBASIC, .10062
"uno"
"dos"
Mi otra respuesta es más interesante, pero esta obtiene una puntuación más alta.
Una estrategia importante para obtener la cadena más larga es usar MÁS caracteres para guardar en caracteres ÚNICOS (por ejemplo, usar
x - -x
en el programa 2 para guardary + y
para el programa 3)El problema con el sistema de puntuación es que puntúa 2 programas cortos mejor que 3 programas largos, por lo que no hay razón para guardar caracteres para programas posteriores si alarga el programa actual.
Además, valora los programas cortos individuales más altos que un tamaño TOTAL más pequeño. Si cambio
?
yPRINT
en mi respuesta puedo guardar 1 personaje, pero mi puntaje es la MITAD.Creo que hubiera sido mejor basarlo solo en la cantidad de programas, con un tamaño total como desempate.
fuente
o
...