Tantangan Anda sangat sederhana. Diberikan satu tahun sebagai input, cetak semua bulan di tahun itu yang akan berisi hari Jumat tanggal 13 menurut kalender Gregorian. Perhatikan bahwa meskipun Kalender Gregorian tidak diperkenalkan sampai 1582, demi kesederhanaan kami akan berpura-pura bahwa Kalender ini telah digunakan sejak 0001 Masehi.
Aturan
Program atau fungsi penuh diizinkan.
Anda dapat mengambil input sebagai argumen fungsi, dari STDIN, atau sebagai argumen baris perintah.
Anda tidak diizinkan menggunakan tanggal dan waktu bawaan.
Anda dapat dengan aman berasumsi bahwa input akan menjadi tahun yang valid. Jika input lebih kecil dari 1, bukan bilangan bulat yang valid, atau lebih besar dari jenis nomor asli bahasa Anda, Anda tidak harus menangani ini, dan Anda mendapatkan perilaku yang tidak terdefinisi.
Output dapat berupa angka, dalam bahasa Inggris, atau dalam format lain yang dapat dibaca manusia, selama Anda menentukan standar.
Pastikan Anda memperhitungkan lompatan-tahun. Dan ingat, tahun kabisat tidak terjadi setiap 4 tahun!
Kiat
Karena ada begitu banyak cara untuk melakukan hal ini, saya tidak ingin memberi tahu Anda cara melakukannya. Namun, mungkin membingungkan dari mana harus memulai, jadi inilah beberapa cara yang dapat diandalkan untuk menentukan hari dalam seminggu dari tanggal.
Pilih tanggal mulai dengan hari yang diketahui dalam seminggu, seperti Senin, 1 Januari, 0001 dan temukan seberapa jauh jarak keduanya, dan ambil nomor mod 7 itu.
Contoh IO
2016 --> May
0001 --> 4, 7
1997 --> Jun
1337 --> 09, 12
123456789 --> January, October
Seperti biasa, ini adalah kode-golf, sehingga celah standar berlaku, dan jawaban terpendek menang.
0001 --> 5
:? Menurut halaman ini (dan kode saya) itu harus April dan Juli.