Jestem trochę romantyczny, uwielbiam zabierać moją żonę, aby zobaczyć wschody i zachody słońca w miejscu, w którym się znajdujemy. Na potrzeby tego ćwiczenia powiedzmy, że nie mam kodu, który mógłby mi wskazać godzinę zachodu lub wschodu słońca dla dowolnej daty, szerokości i długości geograficznej, w której się znajdę.
Twoim zadaniem, programistom, jest wygenerowanie możliwie najmniejszego kodu, który przyjmuje szerokość dziesiętną i długość geograficzną (przyjmowane w stopniach N i W, więc stopnie S i E będą przyjmowane jako negatywy) i datę w formacie RRRR-MM-DD ( od 1 stycznia 2000 roku) i wypluje dwa razy w formacie 24-godzinnym dla wschodu i zachodu słońca.
np. na dzisiaj w Sydney w Australii
riseset -33.87 -151.2 2013-12-27
05:45 20:09
Bonusy: -100, jeśli można uwzględnić wzniesienie -100, jeśli można uwzględnić oszczędności w świetle dziennym
Kod MUSI wypluć czasy w odpowiedniej strefie czasowej określonej na wejściu w oparciu o szerokość i długość geograficzną LUB we własnej strefie czasowej komputera klienta.
Odpowiedzi:
Spędziłem sporo czasu pisząc to:
Teraz nie jest jeszcze funkcjonalny (zepsułem kilka obliczeń) - wrócę do niego później (jeśli nadal będę miał odwagę), aby go ukończyć / skomentować .
Kilka ciekawych zasobów, które znalazłem podczas badania tematu:
źródło
# It's late, I'm tired, and OP is a prick for asking me to do this.
Nie było obowiązku wykonania tego zadania ... Proszę nie umieszczać takich komentarzy w swoim kodzie ... To nie pasuje do innych programistów ... w tym do mnie. Podziwiam fakt, że dałeś mu czerwoną