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