計算某一天是星期幾的演算法- IT閱讀 - ITREAD01.COM
文章推薦指數: 80 %
計算某一天是星期幾的演算法 ... 引用了Tomohiko Sakamoto 提供的簡潔程式碼} int main() { int y,m,d; string mon; char weekday[7][10]={"Sunday" ...
計算某一天是星期幾的演算法
首頁
最新
HTML
CSS
JavaScript
jQuery
Python3
Python2
Java
C
C++
Go
SQL
首頁
最新
Search
計算某一天是星期幾的演算法
2019-01-02254
如何計算某一天是星期幾?
——蔡勒(Zeller)公式
歷史上的某一天是星期幾?未來的某一天是星期幾?關於這個問題,有很多計算公式(兩個通用計算公式和一些分段計算公式),其中最著名的是蔡勒(Zeller)公式。
即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
公式中的符號含義如下,w:星期;c:世紀-1;y:年(兩位數);m:月(m大於等於3,小於等於14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2003年1月1日要看作2002年的13月1日來計算);d:日;[]代表取整,即只要整數部分。
(C是世紀數減一,y是年份後兩位,M是月份,d是日數。
1月和2月要按上一年的13月和14月來算,這時C和y均按上一年取值。
)
算出來的W除以7,餘數是幾就是星期幾。
如果餘數是0,則為星期日。
以2049年10月1日(100週年國慶)為例,用蔡勒(Zeller)公式進行計算,過程如下:
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26×(10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54(除以7餘5)
即2049年10月1日(100週年國慶)是星期5。
這個是最簡單的演算法
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
不過,以上公式只適合於1582年10月15日之後的情形(當時的羅馬教皇將愷撒大帝制訂的儒略曆修改成格里曆,即今天使用的公曆)。
http://codeup.cn/problem.php?cid=100000578&pid=1.
http://ac.jobdu.com/problem.php?pid=1043
題目1043:DayofWeek
時間限制:1秒
記憶體限制:32兆
特殊判題:否
提交:5834
解決:2090
題目描述:
WenowusetheGregorianstyleofdatinginRussia.Theleapyearsareyearswithnumberdivisibleby4butnotdivisibleby100,ordivisibleby400.
Forexample,years2004,2180and2400areleap.Years2004,2181and2300arenotleap.
Yourtaskistowriteaprogramwhichwillcomputethedayofweekcorrespondingtoagivendateinthenearestpastorinthefutureusingtoday’sagreementaboutdating.
輸入:
Thereisonesinglelinecontainsthedaynumberd,monthnameMandyearnumbery(1000≤y≤3000).ThemonthnameisthecorrespondingEnglishnamestartingfromthecapitalletter.
輸出:
OutputasinglelinewiththeEnglishnameofthedayofweekcorrespondingtothedate,startingfromthecapitalletter.Allotherlettersmustbeinlowercase.
樣例輸入:
9October2001
14October2001
樣例輸出:
Tuesday
Sunday
提示:
MonthandWeeknameinInput/Output:
January,February,March,April,May,June,July,August,September,October,November,December
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
答疑:#include
延伸文章資訊
- 1由日期找出星期幾@ 次元茶水間:: 隨意窩Xuite日誌
網路上找到的公式,基姆拉爾森計算公式,能夠找出日期對應的星期,而公式有個較特別的地方,就是要把一月與二月看成是上一年的十三月與十四月來算。 範例程式﹝C#﹞:.
- 2計算特定日期是星期幾- 閏年 - GitBook
數學與程式之基礎. 計算特定日期是星期幾 ... DoomsDay 這些日期都會是同一個星期幾,例如4/4是星期三,則同年6/6號也會是星期三。 ( 閏年的話1月要看1/4號,二月要 ...
- 3C++計算星期幾 - 初學者程式設計之路
【計算星期幾】. 問題描述: 已知1900年1月1日為星期一,寫一個C++程式,以算出西元某年某月某日為星期幾。 輸入說明: 程式的輸入包含n+1行數字,第 ...
- 4C 程式設計給出年月日得出星期幾
C 程式設計給出年月日得出星期幾,1樓平金蘭波賦include define year 365int leap int year void ... 以下25行,計算<2000年,演算法同上*/d...
- 5通過日期即可得到星期幾,神奇哦 - 每日頭條
如果是2017-02-01則換算成:2016-14-01來代入公式計算。 開始布局界面. 利用程式語言C#布局一個簡單界面,如下:.