Chinese zodiac: Difference between revisions

Content deleted Content added
BigL (talk | contribs)
No edit summary
Sonia (talk | contribs)
Go solution
Line 403:
1972: 壬子 (rén-zĭ, Water Rat; yang)
1976: 丙辰 (bĭng-chén, Fire Dragon; yang)
</pre>
 
=={{header|Go}}==
<lang go>package main
 
import "fmt"
 
var (
animalString = []string{"Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake",
"Horse", "Goat", "Monkey", "Rooster", "Dog", "Pig"}
stemYYString = []string{"Yang", "Yin"}
elementString = []string{"Wood", "Fire", "Earth", "Metal", "Water"}
stemCh = []rune("甲乙丙丁戊己庚辛壬癸")
branchCh = []rune("子丑寅卯辰巳午未申酉戌亥")
)
 
func cz(yr int) (animal, yinYang, element, stemBranch string, cycleYear int) {
yr -= 4
stem := yr % 10
branch := yr % 12
return animalString[branch],
stemYYString[stem%2],
elementString[stem/2],
string([]rune{stemCh[stem], branchCh[branch]}),
yr%60 + 1
}
 
func main() {
for _, yr := range []int{1935, 1938, 1968, 1972, 1976} {
a, yy, e, sb, cy := cz(yr)
fmt.Printf("%d: %s %s, %s, Cycle year %d %s\n",
yr, e, a, yy, cy, sb)
}
}</lang>
{{out}}
<pre>
1935: Wood Pig, Yin, Cycle year 12 乙亥
1938: Earth Tiger, Yang, Cycle year 15 戊寅
1968: Earth Monkey, Yang, Cycle year 45 戊申
1972: Water Rat, Yang, Cycle year 49 壬子
1976: Fire Dragon, Yang, Cycle year 53 丙辰
</pre>