【蔡勒公式 】根据给定的年月日求出对应星期几
生活随笔
收集整理的這篇文章主要介紹了
【蔡勒公式 】根据给定的年月日求出对应星期几
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
蔡勒公式
?
蔡勒(Zeller)公式,是一個計算星期的公式,隨便給一個日期,就能用這個公式推算出是星期幾。時間復雜度:O(1)。具體的在紅書P229有。
若要計算的日期是在1582年10月4日或之前,公式則為:
如果沒有是之后的話:
可以這樣:
也可以這樣:
具體推導:蔡勒公式的推導過程
貼個代碼:
int whatday(int y, int m, int d) {int ans;if(m == 1 || m == 2) m += 12, y--;if((y < 1752) || (y == 1752 && m < 9) || (y == 1752 && m == 9 && d < 3))ans = (d + 2*m + 3*(m + 1) / 5 + y + y/4 + 5) % 7 + 1;else ans = (d + 2*m + 3*(m + 1) / 5 + y + y/4 - y/100 + y/400) % 7 + 1;return ans; }轉載于:https://www.cnblogs.com/zyysyang/p/11093495.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【蔡勒公式 】根据给定的年月日求出对应星期几的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云管理软件ManageIQ管理Opens
- 下一篇: call / apply / bind