Su desafío es escribir 5 programas completos diferentes para las 5 tareas siguientes:
Impresión
Hello, World!
Dada una entrada con STDIN, emite el factorial, puede suponer que la entrada es un entero> = 0
Dado un entero N, calcule la suma de los primos <= N
Dada una entrada con STDIN, genera las letras utilizadas en la entrada. Por ejemplo: la entrada es
Hello world
, necesita salirhelowrd
. Tenga en cuenta que la salida está en minúsculas. Puede suponer que la entrada siempre es alfabética con espacios en blanco, los espacios en blanco se ignoran.Produzca el siguiente diamante exactamente así:
* *** ***** ******* ***** *** *
Todos estos desafíos son probablemente muy fáciles, pero hay una trampa. Cada letra que use no puede volver a usarse en los otros programas. Esto no está prohibido, pero le dará una penalización de +8 bytes . Por ejemplo, si este es su programa para la primera tarea:
print("Hello, World!");
Entonces no se puede utilizar las siguientes letras (en mayúsculas o minúsculas) forma: p
, r
, i
, n
, t
, h
, e
, l
, o
, w
, d
en los otros programas. Si tiene que usarlos, puede 'comprar' cada letra por 8 bytes. Entonces, si desea usar la letra l
nuevamente en otro programa, obtendrá una penalización de 8 bytes. Después de haber pagado la multa, puede usar cada letra tanto como desee en este programa. Otros personajes no importan. Además, los 5 programas deben estar en el mismo idioma.
Este es el código de golf , por lo que gana la menor cantidad de bytes.
fuente
Respuestas:
CJam, 73 bytes
Cada línea es un programa completo. Pruébelos en línea: 1 | 2 | 3 | 4 | 5 5
Mapa carta
Si lo desea (y cada uno de sus programas encaja en una línea), puede usar este programa CJam para crear un mapa de letras para su propio envío.
fuente
Pyth, 90 bytes
Primer intento...
Tarea 1: 20 bytes
Tarea 2, 3 bytes
Tarea 3, 9 bytes
Tarea 4, 6 + 8 = 14 bytes
Tarea 5, 44 bytes
fuente
osascript, 759 Bytes
Sabía que esto iba a ser mucho cuando comencé. oo
Tarea 1: 15 bytes
Sabía que iba a ser malo desde este punto.
Tarea 2: 64 + 8 * 4 = 96 bytes
Oh Dios mío.
Tarea 3: 170 + 8 * 13 = 274 bytes
Dennis g outgolfed.
Tarea 4: 225 + 8 * 13 = 329
...
Tarea 5: 45 bytes
Así que sí. Sabía que iba a perder desde el principio. Pero fue interesante, me interesaría saber si hay una manera de hacer esto en menos personajes. Mapa de caracteres (según lo provisto por Dennis):
El recuento de caracteres anterior está ligeramente desactivado: las nuevas líneas hicieron que tuviera problemas, ya que las nuevas líneas no se contaban.
NOTA: La razón para no usar cosas como
a's characters
o similares es que el'
personaje debe usarse cuando se ejecuta desde la línea de comandos del osascript. Si lo hubiera usado'
, tendría que usar\'
o algo similar, lo que no me habría ayudado en absoluto. Además, solo reconoce"
como capturadores de cadenas, por lo que también me atornillaron allí. Pero eso fue divertido.fuente
NARS2000 APL, 144 bytes (85 caracteres)
Tarea 1, 21 bytes (17 caracteres)
Tarea 2, 10 bytes (4 caracteres)
Tarea 3, 22 bytes (11 caracteres)
Tarea 4, 53 bytes (29 caracteres)
Tarea 5, 38 bytes (24 caracteres)
fuente
⎕
para imprimir fuera de un REPL.Gelatina , 46 bytes (no competitiva)
Pruébalo en línea! (Copie / pegue cada fragmento)
Aparentemente, la restricción no restringió el golf :) Solo sugerencias para la última, por supuesto, por favor.
fuente