e922 - pA. ISO日曆系統(一)
題目描述
題目要求輸出每年1月和2月,週數相同的八個日期。根據 ISO 8601 標準,一週從星期一開始,且最靠近年初的星期一為第一週的星期一。由於題目假設每年沒有閏年,因此每年有365天。
解題思路
題目要求找出1月和2月,週數相同的八個日期。由於每年都是365天,且週數的計算方式固定,因此可以透過模擬日期,並輸出符合條件的日期。程式從1月4日開始,每次增加7天,直到輸出八個日期。如果日期超過當月的天數,則將日期調整到下個月,並更新月份。
複雜度分析
- 時間複雜度: O(1)
- 空間複雜度: O(1)
程式碼
#include <iostream>
using namespace std;
int m=1,d=4;
int main(){
for(int i=0;i<8;++i){
cout << m << "/" << d << "\n";
d+=7;
if(d>30){
d-=31;
++m;
}
}
}