e908 - 星期幾咧
題目描述
題目要求計算在給定的星期幾加上 N 天後是星期幾。輸入包含一個星期幾的英文單字和一個正整數 N,輸出 N 天後是星期幾的英文單字。
解題思路
這題的解題思路很簡單,就是利用星期是循環的特性。首先,將輸入的星期幾的英文單字轉換為一個數字,例如 Sunday 為 0,Monday 為 1,以此類推。然後,將這個數字加上 N,再對 7 取模,得到 N 天後是星期幾的數字。最後,將這個數字轉換為對應的星期幾的英文單字,並輸出。
複雜度分析
- 時間複雜度: O(1)
- 空間複雜度: O(1)
程式碼
#include <iostream>
#include <string>
using namespace std;
int main(){
long long int y,i;
string a;
string w[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
while(cin >> a){
cin >> y;
for(i=0;i<7;i++){
if(a==w[i]){
break;
}
}
cout << w[(i+y)%7] << "\n";
}
}