萬年曆程序中十二生肖排列順序及演算法

有時我們做萬年曆程序時涉及十二生肖的排列順序及相關演算法問題,這裡總結一下:

演算法:

年份減3除以12,餘數則是對應的十二生肖序號, 如果餘數為0,序號計為12。然後根據以下口訣得到生肖:

一鼠二牛三虎四兔走,

舞龍六蛇七馬八羊頭。

九猴十雞幺幺數狗狗。

十二金豬排列到最後。

按地支及生肖的口訣:

子鼠丑牛寅虎卯兔走,

辰龍巳蛇午馬未羊頭。

申猴酉雞之後戍狗狗,

亥屬金豬排列到最後。

註:以上口訣(也可說是十二生肖的順口溜吧),是我讀高中時瞎編的,不過至今仍記得,轉載請註明出處 :)

還有一個關於十二生肖的順口溜

(貌似兒歌,可教給小孩子的,嘿嘿!):

小老鼠,打頭來,牛把蹄兒往上抬。

老虎回頭一聲吼,兔腳一蹬跑得快。

龍和蛇,尾巴甩,馬嘯羊兒大步邁。

小猴機靈蹦又跳,雄雞一唱天下白。

狗兒跳,豬兒叫,老鼠接著跟上來。

十二動物轉圈跑,一二三四按序排。

附:十二生肖屬相年份對照表(農曆1900-2103年)

鼠1900 牛1901 虎1902 兔1903 龍1904 蛇1905 馬1906 羊1907 猴1908 雞1909 狗1910 豬1911

鼠1912 牛1913 虎1914 兔1915 龍1916 蛇1917 馬1918 羊1919 猴1920 雞1921 狗1922 豬1923

鼠1924 牛1925 虎1926 兔1927 龍1928 蛇1929 馬1930 羊1931 猴1932 雞1933 狗1934 豬1935

鼠1936 牛1937 虎1938 兔1939 龍1940 蛇1941 馬1942 羊1943 猴1944 雞1945 狗1946 豬1947

鼠1948 牛1949 虎1950 兔1951 龍1952 蛇1953 馬1954 羊1955 猴1956 雞1957 狗1958 豬1959

鼠1960 牛1961 虎1962 兔1963 龍1964 蛇1965 馬1966 羊1967 猴1968 雞1969 狗1970 豬1971

鼠1972 牛1973 虎1974 兔1975 龍1976 蛇1977 馬1978 羊1979 猴1980 雞1981 狗1982 豬1983

鼠1984 牛1985 虎1986 兔1987 龍1988 蛇1989 馬1990 羊1991 猴1992 雞1993 狗1994 豬1995

鼠1996 牛1997 虎1998 兔1999 龍2000 蛇2001 馬2002 羊2003 猴2004 雞2005 狗2006 豬2007

鼠2008 牛2009 虎2010 兔2011 龍2012 蛇2013 馬2014 羊2015 猴2016 雞2017 狗2018 豬2019

鼠2020 牛2021 虎2022 兔2023 龍2024 蛇2025 馬2026 羊2027 猴2028 雞2029 狗2030 豬2031

鼠2032 牛2033 虎2034 兔2035 龍2036 蛇2037 馬2038 羊2039 猴2040 雞2041 狗2042 豬2043

鼠2044 牛2045 虎2046 兔2047 龍2048 蛇2049 馬2050 羊2051 猴2052 雞2053 狗2054 豬2055

鼠2056 牛2057 虎2058 兔2059 龍2060 蛇2061 馬2062 羊2063 猴2064 雞2065 狗2066 豬2067

鼠2068 牛2069 虎2070 兔2071 龍2072 蛇2073 馬2074 羊2075 猴2076 雞2077 狗2078 豬2079

鼠2080 牛2081 虎2082 兔2083 龍2084 蛇2085 馬2086 羊2087 猴2088 雞2089 狗2090 豬2091

鼠2092 牛2093 虎2094 兔2095 龍2096 蛇2097 馬2098 羊2099 猴2100 雞2101 狗2102 豬2103

如果你對這方面的詩詞感興趣,不妨再看看此文:

[圖]十二生肖開運詩詞 

十二生肖與十二時辰:

    古人根據太陽升起的時間,將一晝夜區分為十二個時辰,用十二地支為代號,方便熟記。 中國用地支計時法,叫做十二時辰(「大時」),也就是我們現在所稱的二十四「小時」。

    十二生肖是由十一種來自自然界的動物: 鼠、牛、虎、兔、蛇、馬、羊、猴、雞、狗和豬,還有傳說中的龍所組成的。古人以這十二種動物的習性來為分配各個地支, 例如:老鼠是夜間活動的動物,因此以子時(午夜11時至1時)配合鼠,都和當時農業社會的生活起居作習息息相關。

生肖和時辰是如何相對應的呢?以下僅供參考:

子(鼠)午夜23時至1時:在一日中,子時一天的最後時刻,也是新一天的開始。

丑(牛)凌晨1時至3時:丑時指的是黎明前的黑暗階段。據說是牛開始日出耕田的時刻。

寅(虎)凌晨3時至5時:在一日中, 天方大白之時,正是老虎開始活動的時刻。

卯(兔)清晨5時至7時:卯時是太陽已東升,開始放萬丈光芒的時候。

辰(龍)清晨7時至9時:辰時太陽光熱增強時刻,據說是群龍行西的時刻。

巳(蛇)上午9時至11時,巳時太陽光熱更強了。

午(馬)上午11時至下午13時,在一日中,陽光最為猛烈。

未(羊)下午13時至15時:在一日中, 未時是暑氣將消之時。

申(猴)下午15時至17時:在一日中,申時的暑氣已快過去了。

酉(雞)下午17時至晚上19時:在一日中,酉時是夜晚將來臨的時刻。

戍(狗)晚上19時至21時:在一日中,戌時正是黑夜擴散,華燈初上時分。

亥(豬)晚上21時至午夜23時:在一日中,亥時是一日將盡,要邁向明日之前時分。

兩則小故事:

(1)為什麼有屬老鼠的,沒有屬貓的呢?

    你知道自己屬什麼嗎?為什麼有屬老鼠的,沒有屬貓的呢?這裡有個故事。很久很久以前,有一天,人們說:「我們要選十二種動物作為人的生肖,一年一種動物。」天下的動物有多少呀?怎麼個選法呢?這樣吧,定好一個日子,動物們來報名,就選先到的十二種動物為十二生肖。貓和老鼠是鄰居,又是好朋友,它們都想去報名。貓說:「咱們得一早起來去報名,可是我愛睡懶覺,怎麼辦呢?」老鼠說:「別著急,別著急,你儘管睡你的大覺,我一醒來就去叫你,咱們一塊兒去。」貓聽了很高興,說:「你真是我的好朋友,謝謝你了。」到了報名那天早晨,老鼠早就醒來了,可是它光想到自己的事,把好朋友貓的事給忘了。就自己去報名了。結果,老鼠被選上了。貓呢?因為睡懶覺,起床太遲,等它趕到時,十二種動物已被選定了。 貓沒有被選上,就生老鼠的氣,怪老鼠沒有叫它,從這以後,貓見了老鼠就要吃它,老鼠就只好拚命地逃。一直到現在還是這樣。      

(2)怎麼讓小小的老鼠排在第一名呢?

    十二生肖的順序是:鼠、牛、虎、兔、龍、蛇、馬、羊、猴、雞、狗、豬。怎麼讓小小的老鼠排在第一名呢?這裡也有個故事。報名那天,老鼠起得很早,牛也起得很早。它們在路上碰到了。牛個頭大,邁的步子也大,老鼠個頭小,邁得步子也小,老鼠跑得上氣不接下氣,才剛剛跟上牛。老鼠心裡想:路還遠著呢,我快跑不動了,這可怎麼辦?它腦子一動,想出個主意來,就對牛說:「牛兄弟,牛兄弟,我來給你唱個歌。」牛說:「好啊,你唱吧---咦,你怎麼不唱呀?」老鼠說:「我在唱哩,你怎麼沒聽見?哦,我的嗓們太細了,你沒聽見。這樣吧,讓我騎在你的脖子上,唱起歌來,你就聽見了。」牛說:「行羅,行羅!」老鼠就沿著牛腿子一直爬上了牛脖子,讓牛馱著它走,可舒服了。它搖頭晃腦的,真的唱起歌來:牛兄弟,牛兄弟,過小河,爬山坡,駕,駕,快點兒羅!牛一聽,樂了,撒開四條腿使勁跑,跑到報名的地方一看,誰也沒來,高興得昂昂地叫起來:「我是第一名,我是第一名!」牛還沒吧話說完,老鼠從牛脖子上一蹦,蹦到地上,吱溜一躥,躥到牛前面去了。結果是老鼠得了第一名,牛得了第二名,所以,在十二生肖里,小小的老鼠給排在最前面了。

推薦閱讀:

這些生肖天生好命
十二生肖住在幾樓,有利於提高自身的財運?
2018年財運暴漲,踩狗屎運,有望能中大獎的生肖!
嫁雞隨雞!嫁狗隨狗任勞任怨不會分家散夥的生肖女!
財好命更好!錢財比山高的生肖!

TAG:程序 | 演算法 | 生肖 | 十二生肖 | 萬年曆 | 順序 | 算法 |