Necesitas hacer tres cosas:
- Estado de una tarea, T .
- Solución de la tarea en el lenguaje no suele utilizar para jugar al golf, A .
- Solución de la tarea en un lenguaje típicamente utilizado para jugar al golf, B . No intentes simplemente hinchar B para aumentar el puntaje, en lugar de eso, piensa que B fue escrito por tu competidor.
Use el sentido común para definir typically used for golfing
, intente maximizar la diversión para otros usuarios.
Otros usuarios pueden proponer mejores B
correos electrónicos (tal vez incluidos en otros idiomas "golf").
Anotar es (length_in_bytes(B)+5)/(length_in_bytes(A)+5)
, más es mejor. (¿Tal vez la fórmula de puntuación debería cambiarse? ..)
La idea principal es inventar una tarea donde los lenguajes que generalmente funcionan bien en codegolf encuentran un problema. Puede ser la fuerza repentina de un lenguaje habitual en la tarea dada o la debilidad repentina de algunos golflang.
Evite tareas que mencionen lenguajes de programación específicos, como Input a string and execute it as a Scheme code
.
Respuestas:
Mi pregunta anterior, Imprimir una onda sinusoidal (verticalmente), califica en este momento. Lo publico aquí como una solución, también espero que ustedes puedan encontrar algunas soluciones más cortas para mi pregunta original.
Según lo requerido por Vi., Publicaré un resumen de la pregunta.
Imprima una onda sinusoidal continua desplazándose verticalmente en un terminal. El programa no debe terminar y debe desplazarse continuamente hacia abajo de la onda (excepto hasta SIGINT). Puede suponer que el desbordamiento no es un problema (es decir, puede usar bucles infinitos con contadores incrementales o recursión infinita).
La ola debe satisfacer las siguientes propiedades:
|
Hay una salida de muestra en mi pregunta original, pero no la estoy publicando aquí, porque esto hará que mi respuesta sea ridículamente larga. Mi pregunta original se puede ver aquí: Imprimir una onda sinusoidal (verticalmente)
Más corto
A
actualmente: una solución Perl con 48 caracteres: https://codegolf.stackexchange.com/a/18655/12205Más corto
B
actualmente: una solución J con 54 caracteres: https://codegolf.stackexchange.com/a/18649/12205Actualmente, el puntaje de esta respuesta es 1.113 (un puntaje muy bajo)
fuente
Agrega dos números
Obtén dos números de STDIN y súmalos. Debe admitir números de coma flotante, por lo que 0.5 + 1.5 tiene que ser igual a 2.
Perl 5 (con
-E
)GolfScript
fuente
(24+5)/(8+2+5) = 1.9(3)
.-E
También cuenta como bytes del programa.n%'+'*'"#{ }"'n/\*~
donde el carácter entre{}
es una nueva línea literal (no se admite en los comentarios).+/".1!:1,~1
. APL probablemente sería aún más pequeño.Imprimir '¡Hola, mundo!' al stdout.
PHP, 13 bytes
Golfscript, 15 bytes
Pyth, 14 bytes
fuente
H
Puntuación 48/37 o 1. (297)
T: escriba un fragmento de código que finalice el programa después de exactamente una hora (lo más cerca posible, como un segundo) de ejecución. No se preocupe por las excepciones, pueden ser manejadas.
A: Java (32)
B: es para Befunge 98, requiere la huella digital TIME (43)
Esto toma la Hora, Minuto y Segundo en el momento de la ejecución, y coloca las celdas en 02, 01 y 00. Luego, salta
;
a la segunda parte. La segunda parte funciona de la siguiente manera:de manera similar para el minuto y la hora.
Tenga en cuenta que Befunge volverá automáticamente al principio de la línea cuando se llegue al final de una línea.
Como podemos ver, Befunge no es bueno cuando se trata de esperar momentos específicos. Sin embargo, Java no es malo.
fuente
⎕DL 3600
class Main{public static void main
...System.exit(0);
o envolver su sueño en unmain
método.error: not a statement
Salida de un determinado archivo de texto (498.388888 puntos)
El resultado final está aquí .
El script Python 3.4.3 para imprimirlo es de 49 bytes:
El ingenuo programa CJam igual a la salida del objetivo, al envolver la cadena de salida
"..."
y escapar de cada uno"
que ocurre en ella, sería 26908 bytes.fuente
Di "Hola mundo!" (50/26 ≈ 1.92)
Muestre un cuadro de mensaje para decir "¡Hola, mundo!"
JavaScript
En un navegador con soporte para DOM Nivel 0+.
Perl
Ejecutando en ActivePerl con Win32 :: GUI.
fuente
alert
no es inherentemente parte de JS, y el programa GolfScript es solo un comentario.Salida "¡Hola mundo!" hasta que el usuario presione "q",
1.842105/44 = 2.386QBasic (
5239 caracteres)Desde que publiqué mi respuesta original, descubrí que podía desactivar el formato automático en QB64. : ^ D Con el número de línea y el
?
acceso directo paraPRINT
, esto se parece más bien a una expresión ternaria en lenguajes tipo C.Primera versión:
Perl 5 (100 caracteres)
Lo anterior solo funcionará en (¿cierto?) Sistemas UNIX (probado en Ubuntu 12.04). Es posible que uno pueda ir multiplataforma y reducirlo a 91 caracteres usando el módulo Term :: ReadKey , pero no lo he probado:
fuente
Hola mundo (3 1/3 puntos)
Programa de escritura que genera
Hello World.
.HQ9 + (1 personaje)
Este no es un lenguaje "típicamente utilizado para jugar al golf", así que creo que encaja aquí. Funciona en este intérprete, por cierto .
GolfScript (15 caracteres)
Dudo que pueda acortarse, incluso si es GolfScript.
fuente
HQ9+
adapte como un idioma. Está diseñado para trucos / acertijos / diversión. Brainfuck / unlambda / otros idiomas esoterical tampoco parecen ser conformes como A .HQ9+
como lenguaje B y vencerlo con Java o algo así ...Salida "¡Hola, mundo!", 33/97 = 2.94
Escribe un programa que salga
Hello world!
Arduino o GML
o
Ambos son 28 personajes.
GTB
Utilizo mucho GTB para jugar al golf (especialmente desde que lo creé yo mismo, y es Turing completo). Desafortunadamente, solo hay soporte limitado para caracteres en minúscula (porque la calculadora TI-84 no puede manejarlo). ¡Este es probablemente el programa GTB más corto que puede generar Hello World!
92 caracteres.
fuente
cos
syexprs
realmente no puede generar algo de forma regular? O el"
personaje en realidad no es una cadena literal y me confunde ..."Hello world!"