소개
tl; dr
이 도전에서 당신은 주어진 날짜에 대한 달의 위상을 계산해야합니다.
이 도전은 게임 사이코 소셜 시청각 실험 " Superbrothers : Sword & Sworcery EP "에서 영감을 얻었습니다 . 에서 S : S & S EP 일부 이벤트는 시간의 특정 지점에서만 발생하는 달의 위상은 모험의 결과에 중요하다.
문제는 특정 날짜에 존재하는 달의 위상입니다. 초승달부터 1 분기까지, 보름달에서 3 분기까지의 각 주요 단계는 약 7.38 일입니다. 전체 음력주기는 약 29.52 일입니다. 이러한 값을 기반으로 다양한 계산 방법이 존재합니다. 1
입력
- 1970 년 1 월 1 일과 2116 년 12 월 31 일 사이의 그레고리력을 기준으로 한 날짜입니다.
- 다음 형식 중 하나를 선택할 수 있습니다
yyyy-mm-dd
,dd.mm.yyyy
,dd/mm/yyyy
,yyyymmdd
또는ddmmyyyy
.
산출
[0-7]
이 인덱스가없는 배열을 기반으로 달의 위상을 출력합니다 .
['New moon', 'Waxing crescent', 'First quarter', 'Waxing gibbous', 'Full moon', 'Waning gibbous', 'Third quarter', 'Waning crescent`]
요구 사항
- 프로그램이나 함수를 작성할 수 있습니다. 익명의 기능을 사용하는 경우 호출 방법의 예를 포함하십시오.
STDIN
명령 줄 인수에서 함수 매개 변수로 또는 가장 유사한 항목에서 입력을 승인 합니다.- 이것은 코드 골프 이므로 바이트 단위의 최단 답변이 승리합니다.
- 달의 위상을 계산하는 내장 또는 외부 라이브러리는 허용되지 않습니다. 2
- 표준 허점은 허용되지 않습니다.
테스트
값은 다음과 같습니다. date | index of the phase | illumination | name
전체 음력주기 :
08.02.2016 | 0 | 0% | New moon
07.02.2016 | 7 | 2% | Waning crescent
07.02.2016 | 7 | 2% | Waning crescent
06.02.2016 | 7 | 6% | Waning crescent
05.02.2016 | 7 | 12% | Waning crescent
04.02.2016 | 7 | 19% | Waning crescent
03.02.2016 | 7 | 28% | Waning crescent
02.02.2016 | 7 | 37% | Waning crescent
01.02.2016 | 6 | 47% | Third quarter
31.01.2016 | 5 | 56% | Waning gibbous
30.01.2016 | 5 | 65% | Waning gibbous
29.01.2016 | 5 | 74% | Waning gibbous
28.01.2016 | 5 | 82% | Waning gibbous
27.01.2016 | 5 | 89% | Waning gibbous
26.01.2016 | 5 | 94% | Waning gibbous
25.01.2016 | 5 | 98% | Waning gibbous
24.01.2016 | 4 | 100% | Full moon
23.01.2016 | 3 | 100% | Waxing gibbous
22.01.2016 | 3 | 97% | Waxing gibbous
21.01.2016 | 3 | 93% | Waxing gibbous
20.01.2016 | 3 | 86% | Waxing gibbous
19.01.2016 | 3 | 77% | Waxing gibbous
18.01.2016 | 3 | 67% | Waxing gibbous
17.01.2016 | 3 | 56% | Waxing gibbous
16.01.2016 | 2 | 45% | First quarter
15.01.2016 | 1 | 33% | Waxing crescent
14.01.2016 | 1 | 23% | Waxing crescent
13.01.2016 | 1 | 14% | Waxing crescent
12.01.2016 | 1 | 7% | Waxing crescent
11.01.2016 | 1 | 2% | Waxing crescent
10.01.2016 | 0 | 0% | New moon
무작위 테스트 사례 :
14.12.2016 | 4 | 100% | Full moon
16.10.1983 | 3 | 75% | Waxing gibbous
04.07.1976 | 2 | 47% | First quarter
28.11.1970 | 0 | 0% | New moon
대부분의 방법은 과학적으로 정확하지 않으며 요즘 며칠 동안 서로 다른 웹 사이트에서 혼합 된 결과를 얻으므로 결과가 ± 1 일 범위 내에 있으면 허용됩니다 .
보너스
바이트 수를 줄이고 철회하십시오 .
- 15 % – 색인 대신 출력 섹션에 나열된 위상의 실제 이름을 인쇄하십시오 .
- 25 % – 빈 입력시 공백 또는 개행 문자로 구분하여 예정된 새롭고 보름달의 날짜를 인쇄합니다.
1 예 : Wikipedia의 계산 단계 .
2 미안 Mathematica .