Sembra che non ne abbiamo ancora uno, quindi eccoci qui:
La sfida
Scrivi un programma o una funzione che accetta una data come input e genera il numero del giorno dell'anno. Non puoi usare alcun builtin per quello!
Regole
- Come al solito puoi scrivere un programma completo o una funzione.
- Il formato dell'input dipende da te, ma deve contenere un anno, un mese e un giorno. Chiarisci quale utilizza la tua soluzione!
- Non sono ammessi builtin relativi alla data! Devi fare il lavoro da solo. I builtin che non sono correlati alle operazioni sulla data vanno bene.
- La base per il calcolo è il calendario gregoriano.
- Devi tener conto degli anni bisestili.
- Hai solo bisogno di gestire anni nella gamma [1, 9999]
- Sono vietate le scappatoie standard .
- Vince il conteggio dei byte più basso!
Casi test
Il formato di input qui è AAAA / MM / GG
2016/07/05 -> 187
2000/03/28 -> 88
0666/06/06 -> 157
6789/10/11 -> 284
0004/04/04 -> 95
1337/07/13 -> 194
Buona programmazione!