今天星期幾?
這樣的問提在程式中常常是和日期一起來計算了。
在沒接觸蔡勒公式的時候,要我做我也很費勁的先去計算一更有多少天,然後在mod7;
但是今天遇到乙個了這個公式。我就來看一下。
這就是公式。
w就是我們要的周幾了,c是世紀數-1(其實就是年份的前兩位),y是年份的後兩位,m是月份,d是天數
例如2023年5月8號 c=20 y =14 m=5 d=8;
看到這個東西是不是很喜歡啊,套上就出結果。別急,這個結果不是沒天都對的,因為這裡有兩個特殊的月份需要處理,1月和2月,你會發現當你帶入1月和2月的日子是結果不對,而其他月份的都對。因為我們要將1月當做上一年13月來處理(也就是月份改為13,年份減1),2月當做上一年的14月來處理(也就是月份改為13,年份減1)。
舉個例子 2023年1月1日,因為月份是一月,我們要將其改為2023年13月1日,然後在帶入公式計算。
2023年2月15日 我們要改為2023年14月15日來算。
其他大於2月的都不用處理直接計算。
好了 貼上**:
#includeusing namespace std;
//蔡勒公式推算星期幾
int weekday(int y,int m,int d)
if(m==2)
int c = y/100;
y=y%100;
return ((c/4)-2*c+y/4+y+(13*(m+1)/5)+d-1)%7;
}int main()
cout<
感謝自己堅持。
蔡勒公式 計算星期
蔡勒公式 蔡勒公式 蔡勒 zeller 公式 是乙個計算星期的公式。隨便給乙個日期,就能用這個公式推算出是星期幾。蔡勒公式如下 w c 4 2c y y 4 13 m 1 5 d 1 或者是 w y y 4 c 4 2c 26 m 1 10 d 1 公式中的符號含義如下 w 星期 w對7取模得 0 ...
通過具體日期計算星期幾 蔡勒公式
include using namespace std int main w對7取模得 0 星期日,1 星期一,2 星期二,3 星期三,4 星期四,5 星期五,6 星期六 int yyyy,mm,dd int w,r cout 請輸入乙個日期 yyyy年 mm月 dd日 cin yyyy mm dd...
蔡勒公式 根據年月日計算星期幾
蔡勒 zeller 公式,是乙個計算星期的公式,隨便給乙個日期,就能用這個公式推算出是星期幾。由於羅馬教皇搞了一些騷操作,這裡給出的公式僅適用於1582年10月15日以後的星期,詳情可參考 格里高利歷 w 星期 w對7取模得 0 星期日,1 星期一,2 星期二,3 星期三,4 星期四,5 星期五,6...