herrDeng網內搜尋
自訂搜尋
Ads
2012年3月8日 星期四
2012年3月7日 星期三
閏年的判斷程式
請照下列台北天文台陽年閏年說明,寫一判斷輸入公元n年(n>0)是否為閏年的判斷程式。
陽曆曆法
臺灣目前使用的曆法為陰陽合曆。其中陽曆的部分,年的制訂是利用太陽的運動而來,1回歸年(或太陽年)實際長度為365.24219天,陽曆曆法上的1年長度為365天,每年會因而多出0.24219天(相當於5.8小時),如此一來,累積4年後為0.96876天,幾近1天,為修正之,故國曆曆法中有「閏年」制度,每4年會多2月29日這一天。
然而,累積4年後多的0.96876天,與真正的1日尚差0.03124天,故如果不間斷地按4年1閏的方式修正,百年後將累積成365×100+25=36525日,比真正的1世紀日數365.24219×100=36524.219多。
因此曆法學家便重新規定閏年的規則為:西元年份逢4的倍數閏、100的倍數不閏、400的倍數閏、4000的倍數不閏。例如:西元1992、1996年等為4的倍數,故為閏年;西元1700、1800、1900年為100的倍數,當年不閏年;西元1600、2000、2400年為400的倍數,有閏;而西元4000、8000年為4000的倍數,則不閏。
出處:http://tamweb.tam.gov.tw/news/2010/201002/news2010020904.htm
訂閱:
意見 (Atom)
熱門文章
-
url="https://www.twse.com.tw/exchangeReport/STOCK_DAY?response=json&date=20220330&stockNo=2330"
-
教育部為提昇全民資安素養與電腦防護能力,本部於101年9月5日至11月5日舉辦「全民資安素養自我評量」活動,請在活動期間內踴躍上網檢測資訊安全素養認知程度,並有機會參與抽獎,詳情請參閱活動網站(網址: https://isafe.moe.edu.tw/event
-
Py3 CPP多項次公式解梯形問題Leetcode 3623 Count Number of Trapezoids I 數有幾個不同水平梯形,先用hash map數有相同y座標的點,再用多項次公式解題 [Py3解請進]
-
C C++ Py3 DP與OOP解Leetcode 3573 Best Time to Buy and Sell Stock V [Py3 code請進]
-
RSA 演算 Euler 定理搞定#LeetCode 372 Super Pow--C,C++,Python實作。玩過數論、RSA演算的,解這個問題剛好,C++解答打敗94%,還沒有特別優化。
-
Py3 C++利用Euclid公式達O(n)解Leetcode 1925 Count Square Sum Triples 用數論方法解畢氏定理三角整數解個數,這應該算是Diophantine Equation中最簡單的例題 [Py3解請進]
-
py3 C C++階乘模運算速解Leetcode 3577 Count the Number of Computer Unlocking Permutations [1-liner Py3請進]