問題描述
有一類節日的日期並不是固定的,而是以「a月的第b個星期c」的形式定下來的,比如說母親節就定為每年的五月的第二個星期日。
現在,給你a,b,c和y
1, y
2(1850 ≤ y
1, y
2 ≤ 2050),希望你輸出從公元y
1年到公元y
2年間的每年的a月的第b個星期c的日期。
為了方便你推算,已知2023年1月1日是星期二。
輸入格式
輸入包含恰好一行,有五個整數a, b, c, y
1, y
2。其中c=1, 2, ……, 6, 7分別表示星期
一、二、……、六、日。
輸出格式
對於y 1和y
2之間的每乙個年份,包括y
1和y2,按照年份從小到大的順序輸出一行。
如果該年的a月第b個星期c確實存在,則以"yyyy/mm/dd"的格式輸出,即輸出四位數的年份,兩位數的月份,兩位數的日期,中間用斜槓「/」分隔,位數不足時前補零。
如果該年的a月第b個星期c並不存在,則輸出"none"(不包含雙引號)。
樣例輸入
5 2 7 2014 2015
樣例輸出
2014/05/11
2015/05/10
評測用例規模與約定
所有評測用例都滿足:1 ≤ a ≤ 12,1 ≤ b ≤ 5,1 ≤ c ≤ 7,1850 ≤ y1, y2 ≤ 2050。
思想:判斷仔細,思路清晰。
#include#includeusing namespace std;
int monday = ;
bool is_run(int year)
int weekday(int year)
else
sum += 365;
}return (sum % 7 + 2) % 7;
}int main()
int cnt = weekday(nowyear);
if(cnt == 0) cnt = 7;
int fristday = (cnt + sum % 7)% 7;
if(fristday == 0) fristday = 7;
int result = 0;
if(fristday <= c)
else
if(result <= monday[a-1])
else
cout << "none"<< endl;
}return 0;
}
C 實現CCF201503 3 節日
問題描述 輸入格式 輸入包含恰好一行,有五個整數a,b,c,y1,y2。其中c 1,2,6,7分別表示星期 一 二 六 日。輸出格式 對於y1和y2之間的每乙個年份,包括y1和y2,按照年份從小到大的順序輸出一行。如果該年的a月第b個星期c確實存在,則以 yyyy mm dd 的格式輸出,即輸出四位...
CCF201503 3節日(公式計算星期)
試題編號 201503 3 試題名稱 節日時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 輸入格式 輸入包含恰好一行,有五個整數a,b,c,y1,y2。其中c 1,2,6,7分別表示星期 一 二 六 日。輸出格式 對於y1和y2之間的每乙個年份,包括y1和y2,按照年份從小到大的...
CCF考試 201503 3節日
問題描述 輸入格式 輸入包含恰好一行,有五個整數a,b,c,y1,y2。其中c 1,2,6,7分別表示星期 一 二 六 日。輸出格式 對於y1和y2之間的每乙個年份,包括y1和y2,按照年份從小到大的順序輸出一行。如果該年的a月第b個星期c確實存在,則以 yyyy mm dd 的格式輸出,即輸出四位...