본문 바로가기
  • Top Genius in the world
알고리듬

[알고리듬] #20 부활절 날짜 계산

by Mr.Algo 2024. 3. 26.
728x90
반응형

파이썬 실습창을 열 수 있습니다.실습창 열기

 

세상에는

복잡해 보이는 것이 간단하고,

간단해 보이는 것이 복잡한 경우가 많습니다.

보이는 것이 다가 아닙니다.

 

 

1. 부활절 날짜 계산

[참고]

더보기

십자가에 못 박혀 죽었던 예수의 부활을 축하하는 부활절(Easter)은 낮과 밤의 길이가 같은 춘분 이후 첫 번째 보름달이 뜨고 나서 돌아오는 일요일입니다.

이 같은 규정은 로마 황제인 콘스탄티누스 1세가 325년 소집한 니케아 공의회에서 결정됐습니다.

가톨릭과 개신교에서의 날짜 계산은 현재의 달력인 그레고리력으로 합니다.

그레고리력(Gregorian calendar)은 교황 그레고리우스 13세가 1582년 율리우스력의 오차를 수정하기 위해 만든 역법입니다.

 

 

1-1. 입력

첫째 줄은 다음과 같이 코딩하세요.

year=int(input('Year?'))

 

1-2. 오딘의 알고리듬 코딩

● 오딘의 알고리듬 첫째 줄을 코딩하새요.

mod는 나머지 계산입니다.

대문자 H는 소문자 h로 바꾸어 코딩하세요.

더보기
year=int(input('Year?'))
h=(24+19*(year%19))%30

'''
mod를 %로 바꾸면 됩니다.
mod는 modulo(마쥴로)이며 나머지를 의미합니다.
'''

 

● 오딘의 알고리듬 둘째 줄을 코딩하새요.

이것은 h를 28로 나눈 값의 소수 이하를 버림하라는 것입니다.

즉, h//28 또는 int(h/28)과 같습니다.

대문자를 소문자로 바꾸어 코딩하세요.

더보기
year=int(input('Year?'))
h=(24+19*(year%19))%30 
i=h-h//28

● 이제 전체를 코딩하세요.

모두 소문자로 바꾸는 것 잊지마시고, 너무 긴 변수는 줄여 쓰도 좋습니다.

더보기
year=int(input('Year?'))
h=(24+19*(year%19))%30 
i=h-h//28
j=(year+year//4+i-13)%7
k=i-j
em=3+(k+40)//44
ed=k+28-31*em//4
print(em,ed)

2024년도의 부활절은 3월 8일, 2025년도의 부활절은 4월 20일입니다.

바르게 출력됩니까?

 

어렵지 않지요?

험악한 얼굴인데 착한 사람도 많습니다.

 

수고하셨습니다.

오늘 끝.

728x90
반응형