Desafío
En cada uno de los 12 días de Navidad, emite el verso apropiado de "12 días de Navidad", de acuerdo con la fecha, de lo contrario, emite el coro de "Ojalá pudiera ser Navidad todos los días".
\n
Se permiten nuevas líneas iniciales y / o finales ( ) y espacios finales. No puede leer de ninguna fuente externa.
Básicamente, lo que debe hacer es leer la fecha del sistema y emitir el verso correspondiente de los "12 días de Navidad".
12 días de navidad
Los Doce Días de Navidad es la temporada festiva cristiana, que comienza el día de Navidad (25 de diciembre) y termina el 5 de enero.
Ejemplos
Si la fecha es el 25 de diciembre (imprima el verso más corto / primero):
On the first day of Christmas
my true love sent to me:
a Partridge in a Pear Tree
Si la fecha es el 31 de diciembre (imprima el séptimo verso):
On the seventh day of Christmas
my true love sent to me:
7 Swans a Swimming
6 Geese a Laying
5 Golden Rings
4 Calling Birds
3 French Hens
2 Turtle Doves
and a Partridge in a Pear Tree
Si la fecha es el 5 de enero (imprima el verso más largo / último / 12):
On the twelth day of Christmas
my true love sent to me:
12 Drummers Drumming
11 Pipers Piping
10 Lords a Leaping
9 Ladies Dancing
8 Maids a Milking
7 Swans a Swimming
6 Geese a Laying
5 Golden Rings
4 Calling Birds
3 French Hens
2 Turtle Doves
and a Partridge in a Pear Tree
Si la fecha no está dentro del rango del 25 de diciembre al 5 de enero inclusive:
Well I wish it could be Christmas every day
When the kids start singing and the band begins to play
Oh I wish it could be Christmas every day
So let the bells ring out for Christmas
¡Feliz Navidad!
fuente
Respuestas:
CJam,
557550530528522519 bytesPruébalo aquí. Para probar diferentes fechas, reemplace
et3<(;
con algo como[12 25]
.Probablemente todavía hay margen de mejora.
fuente
5 Golden R(ing)
¿inaceptable? ¡Maldición! ¿Hay alguna forma de aplicar tanto el-ing
final como el-s
final al número 5?Python 2,
681676673670667 bytesIntenté competir contra CJam ... y fallé como esperaba. Tal vez si pudiera descubrir cómo zlib, pero no sé ...
(Gracias a @FryAmTheEggman por las sugerencias por chat)
fuente
¡Es grande! ¡Es grosero! Es feo! Sus...
Java:
894 887 883882 bytesGolfizado:
Sin golf:
Después de jugar mucho y ganar 14 bytes, creo que dejaré de jugar con él.
Y sí, sé que, en los años bisiestos, mi idea puede tener un pequeño problema, pero ... fue mi forma de cortar algunos bytes del código. Oh bien.
fuente
<!-- language: lang-java -->
antes de un bloque de código. Úselo<!-- language-all: lang-java -->
para todos los bloques de código en su documento. Para obtener más información, consulte codegolf.stackexchange.com/editing-helpErlang, 748 bytes
Una versión limpia de 7 bits sin gzip-9 tiene 748 bytes:
Una solución gzip-9 + base64 tiene una longitud de 750 bytes:
Una función Erlang codificada en UTF-8 tiene 421 caracteres (935 bytes).
fuente
Javascript (665)
Puede probarlo agregando paréntesis al primer
new Date
cambio, es decir:a
Aquí está embellecido:
fuente
C # en Linqpad - 866 bytes
Bueno, al menos venció a Java;) Los años bisiestos se manejan dentro del código.
Sin formato:
Formateado:
fuente
int y=w.Year%4
. Si el móduloy
es 0, agrego unoc
con la ayuda dep
.