
육십갑자(六十甲子)는 10개의 천간(天干)과 12개의 지지(地支)를 순서대로 조합하여 만든 60개의 간지(干支)를 말합니다. 육십갑자를 계산하는 방법은 다음과 같습니다.
1. 천간(天干) 계산
서기 연도에서 4를 뺀 후 10으로 나눈 나머지를 구합니다. 나머지에 해당하는 천간을 표에서 찾습니다.
나머지 | 천간 |
---|---|
0 | 갑(甲) |
1 | 을(乙) |
2 | 병(丙) |
3 | 정(丁) |
4 | 무(戊) |
5 | 기(己) |
6 | 경(庚) |
7 | 신(辛) |
8 | 임(壬) |
9 | 계(癸) |
2. 지지(地支) 계산
서기 연도에서 4를 뺀 후 12로 나눈 나머지를 구합니다. 나머지에 해당하는 지지를 표에서 찾습니다.
나머지 | 지지 |
---|---|
0 | 자(子) |
1 | 축(丑) |
2 | 인(寅) |
3 | 묘(卯) |
4 | 진(辰) |
5 | 사(巳) |
6 | 오(午) |
7 | 미(未) |
8 | 신(申) |
9 | 유(酉) |
10 | 술(戌) |
11 | 해(亥) |
3. 육십갑자 조합
1단계에서 구한 천간과 2단계에서 구한 지지를 순서대로 조합합니다.
예시: 2025년 육십갑자 계산
천간: 2025에서 4를 빼고 10으로 나눈 나머지는 1이므로 천간은 을(乙)입니다.
지지: 2025에서 4를 빼고 12로 나눈 나머지는 5이므로 지지는 사(巳)입니다.
조합: 2025년의 육십갑자는 을사(乙巳)입니다.
이러한 방식으로 원하는 해의 육십갑자를 구할 수 있습니다.
Ruby 소스코드
아래는 육십갑자를 계산하는 루비 언어로 작성된 소스 코드입니다. 이 코드는 사용자가 입력한 연도를 기준으로 천간과 지지를 계산하여 육십갑자를 출력합니다.
# 육십갑자 계산기
def calc_ganzhi(year)
# 천간(天干) 배열
stems = ["갑甲", "을乙", "병丙", "정丁", "무戊",
"기己", "경庚", "신辛", "임壬", "계癸"]
# 지지(地支) 배열
branches = ["자子", "축丑", "인寅", "묘卯", "진辰", "사巳",
"오午", "미未", "신申", "유酉", "술戌", "해亥"]
# 천간 계산
i = (year - 4) % 10
# 지지 계산
j = (year - 4) % 12
# 결과 반환
"#{stems[i][0]}#{branches[j][0]}(#{stems[i][1]}#{branches[j][1]})"
end
# 사용자로부터 연도를 입력받아 출력
print "연도를 입력하세요: "
year = gets.chomp.to_i
# 결과 출력
puts "#{year}년의 육십갑자는 #{calc_ganzhi(year)}입니다."
# 출력 결과
# 연도를 입력하세요: 2025
# 2025년의 육십갑자는 을사(乙巳)입니다.
이 콘텐츠는 대형 언어 모델(LLM)을 기반으로 생성되었습니다.