提交此題
評測記錄
資源限制
時間限制:1.0s 記憶體限制:256.0mb
問題描述
已知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
樣例輸出
解題思路:既然2011/11/11是周五,那麼2011/11/13就是週日,以後者為 原點,向當前所在日期回溯,計算中間的天數差值,若當前日期》=原點時,差值%7即為當前日期的星期幾;若小於原點,(7-差值%7)%7即為當前日期的星期幾。不知什麼原因只跑了80分,看了一下測試資料,錯誤的都是2023年之後的日期。。。
**如下:
#include
using namespace std;
struct date
date()
};int common[12]=;
int ran[12]=;
int wno[7]=;
bool isranyear(int yy)
else
return false;
}int getcuryeardays(date d)
if(d.year==2011)
if(d.month>11)
}if(d.month<=11 && d.day<13)
else
daysum+=common[d.month-1]-d.day;
d.weekno=wno[(7-daysum%7)%7];}}
}if(d.year<2011)
daysum+=13;
for(int i=d.month;i<12;i++)
if(isranyear(d.year))
else
daysum+=common[d.month-1]-d.day;
d.weekno=wno[(7-daysum%7)%7];
}
cout 問題描述 已知2011年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。輸入格式 輸入只有一行 yyyy mm dd 輸出格式 輸出只有一行 w樣例輸入 2011 11 11 樣例輸出 5資料規模和約定 1599 yyyy 2999 ... 問題描述 已知2011年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。輸入格式 輸入只有一行 yyyy mm dd 輸出格式 輸出只有一行 w資料規模和約定 1599 yyyy 2999 1 mm 12 1 dd 31,且確保測試樣... 歷史上,不同的人類聚居地可能有不同的曆法,因而記錄下來的資料中日期的換算就很麻煩。幸好今天我們統一使用公元紀年法。當然,這種曆法對求兩個日期差多少天也不是十分簡便,但畢竟是可以忍受的。下面的程式計算了兩個日期的差值,兩個日期都使用公元紀年法。請分析程式邏輯,並推斷劃線部分缺失的 int to day...藍橋杯 ADV 127 日期計算
C 藍橋杯 ADV 127 日期計算
藍橋杯 2014 3 日期差