# 題目: UVa 12019 - Doom's Day Algorithm
# 題目說明
給一個日期 M
月 D
日
求 2011年M月D日
是星期幾
已知: 4/4
、 6/6
、 8/8
、 10/10
、 12/12
都是星期一
INPUT:
第一行輸入一個整數 N
,代表測資數
每筆測資輸入兩個整數 M
、 D
,代表 M
月 D
日
OUTPUT:
輸出 2011年M月D日
是星期幾
# 解題方法
先建一個每月有幾天的陣列
將 2011年1月0日
到 2011年M月D日
的總天數算出來%= 7
後輸出即可
# 參考程式碼
#include <iostream> | |
using namespace std; | |
int days[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; | |
int main() | |
{ | |
ios::sync_with_stdio(false); | |
cin.tie(nullptr); | |
cout.tie(nullptr); | |
int N, M, D; | |
cin >> N; | |
while (N--) | |
{ | |
cin >> M >> D; | |
int day = D; | |
for (int i = 1; i < M; ++i) day += days[i]; | |
day %= 7; | |
if (day == 0) cout << "Friday\n"; | |
else if (day == 1) cout << "Saturday\n"; | |
else if (day == 2) cout << "Sunday\n"; | |
else if (day == 3) cout << "Monday\n"; | |
else if (day == 4) cout << "Tuesday\n"; | |
else if (day == 5) cout << "Wednesday\n"; | |
else if (day == 6) cout << "Thursday\n"; | |
} | |
return 0; | |
} |