雜七雜八 日期計算

2021-06-29 01:39:30 字數 1762 閱讀 2881

一直很害怕這類題目,而且這類題目還算是送分的題目、、、、

寫完這題,發現自己的邏輯思維能力確實太差,wa 二十幾發,後來發現是 乙個小錯誤、、 - -b

記得有幾次比賽出現求日期的題,我都是直接放棄的,這次強壓著自己、、、

問題描述

已知2023年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。

輸入格式

輸入只有一行

yyyy mm dd

輸出格式

輸出只有一行 w

資料規模和約定

1599 <= yyyy <= 2999

1 <= mm <= 12

1 <= dd <= 31,且確保測試樣例中yyyy年mm月dd日是乙個合理日期

1 <= w <= 7,分別代表周一到週日

樣例輸入

2011 11 11

樣例輸出 5

我想說 又被我寫的非常的複雜、、、、其實就是簡單的模擬、、、

#include #include #include #include #include using namespace std;

#define n 3010

bool tt[n];

int sg[13] = ;

void judge()

}int main()

if(mm >= 3 && tt[yy])

ans ++;

for(int i = 1; i <= mm - 1; i ++)

ans += dd;

int tmp_1 = ((ans) % 7 + 5)%7;

if(tmp_1 != 0)

else

printf("7\n");

continue;

}else if(yy == 2011)

ans += 11;

ans -= dd;

}else if(mm > 11)

else

ans += dd - 11;

int tmp_1 = (ans + 12) % 7;

if(tmp_1 != 0)

else

printf("7\n");

continue;

}else

int tmp_2 = 0;

for(int i = 1; i <= mm - 1; i ++)

if(mm >= 3 && tt[yy])

tmp_2 ++;

tmp_2 += dd;

ans += (365 - tmp_2);

if(tt[yy])

ans ++;

for(int i = 1; i < 11; i ++)

ans += 11;

int tmp_1 = abs(ans % 7 - 5)%7 ; // 死在這裡、、、、一開始 寫的是 (ans + 5)%7;

if(tmp_1 != 0)

else

printf("7\n");

continue;}}

}/****

2011 11 15

2011 11 20

2011 12 30

2010 11 12

1599 1 1

1599 3 1

2015 2 24

2037 3 30

1980 2 29

1980 3 21

****/

雜七雜八日常錯誤記錄

在此目錄下建立資料夾 cd opt cloudera manager cm 5.7.0 run mkdir cloudera scm agent 賦權 chown cloudera scm cloudera scm cloudera scm agent 提示classnotexception異常,原...

SQL學習(八)日期處理

不同資料庫中,針對日期處理的函式不同 oracle中常用日期函式 1 sysdate 獲取當前系統時間 如 select sysdate 返回當前時間,包括年月日 時分秒 2 to date 字元型別 日期型別 將字串型別轉換日期型別 如 select from ticket where creat...

UML雜七雜八

各種分析的角度 目的。1 用例分析,是整個系統層次的功能 使用者的分析 2 靜態分析是對系統實現過程中對類層次的分析,它關注各個實現類的基本性情及各個類之前的關係 關聯 組合 聚合 泛化。3 活動分析是對系統功能業務及業務流和的分析,它是對物件層次的分析。這裡面引入了事件 時候的因素了 4 元件分析...