Tantangan
Pada masing-masing dari 12 hari Natal, tuliskan ayat "12 hari Natal" yang sesuai, sesuai tanggalnya, jika tidak, nyanyikan paduan suara "Aku Berharap Bisa Menjadi Natal Setiap Hari".
Leading dan / atau trailing newlines ( \n
) dan trailing space diizinkan. Anda tidak boleh membaca dari sumber eksternal apa pun.
Pada dasarnya yang harus Anda lakukan adalah membaca tanggal sistem dan menampilkan ayat yang sesuai dengan "12 hari Natal".
12 Hari Natal
Dua Belas Hari Natal adalah musim Kristen yang meriah, dimulai pada Hari Natal (25 Desember) dan berakhir pada 5 Januari.
Contohnya
Jika tanggal 25 Desember (cetak ayat terpendek / pertama):
On the first day of Christmas
my true love sent to me:
a Partridge in a Pear Tree
Jika tanggal 31 Desember (cetak ayat ketujuh):
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
Jika tanggal 5 Januari (cetak ayat terpanjang / terakhir / 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
Jika tanggal tidak dalam kisaran 25 Desember hingga 5 Januari termasuk:
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
Selamat Natal!
sumber
Jawaban:
CJam,
557550530528522519 byteUji di sini. Untuk mencoba tanggal yang berbeda, ganti
et3<(;
dengan yang seperti[12 25]
.Mungkin masih ada ruang untuk perbaikan.
sumber
5 Golden R(ing)
tidak dapat diterima? Sial! apakah ada cara Anda bisa menerapkan-ing
akhir dan-s
akhir untuk nomor 5?Python 2,
681676673670667 byteSaya mencoba bersaing melawan CJam ... dan gagal seperti yang diharapkan. Mungkin jika saya bisa mencari cara zlib, tapi saya tidak tahu ...
(Terima kasih kepada @FryAmTheEggman untuk saran melalui obrolan)
sumber
Itu besar! Itu jahat! Itu jelek! Nya...
Java:
894 887 883882 byteGolf:
Tidak Disatukan:
Setelah banyak mengacaukannya dan mendapatkan 14 byte, saya pikir saya akan berhenti mengutak-atiknya.
Dan ya, saya tahu bahwa, pada tahun kabisat, ide saya mungkin memiliki sedikit masalah, tapi ... itu adalah cara saya untuk memotong beberapa byte dari kode. Baiklah.
sumber
<!-- language: lang-java -->
sebelum blok kode. Gunakan<!-- language-all: lang-java -->
untuk semua blok kode dalam dokumen Anda. Untuk informasi lebih lanjut, lihat codegolf.stackexchange.com/editing-helpErlang, 748 byte
Versi bersih 7-bit tanpa gzip-9 adalah 748 byte:
Solusi gzip-9 + base64 panjangnya 750 byte:
Fungsi Erlang yang disandikan UTF-8 adalah 421 karakter (935 byte).
sumber
Javascript (665)
Anda dapat mengujinya dengan menambahkan tanda kurung ke perubahan pertama
new Date
yaitu:untuk
Ini dipercantik:
sumber
C # Dalam Linqpad - 866 byte
Yah, setidaknya itu mengalahkan Java;) Tahun kabisat ditangani di dalam kode.
Belum terbentuk:
Diformat:
sumber
int y=w.Year%4
. Jika moduloy
adalah 0, saya menambahkan satuc
dengan bantuanp
.