c636 - 十二生肖
題目描述
題目要求根據給定的民國年份,輸出對應的生肖。民國元年為鼠年,年份範圍為 -100 到 107。
解題思路
由於生肖以 12 年為一個週期,因此可以使用取餘數運算來確定生肖。首先,處理輸入年份可能為負數的情況,將其調整到正數範圍內。然後,計算年份除以 12 的餘數,根據餘數值對應到不同的生肖。
複雜度分析
- 時間複雜度: O(n),其中 n 是輸入的年份數量。
- 空間複雜度: O(1),因為只使用了常數級別的額外空間。
程式碼
#include <iostream>
using namespace std;
int main(){
int i=0;
while(cin >> i){
if(i<=0){
i++;
}
while(i<=0){
i+=12;
}
if(i%12==1){
cout << "鼠" << endl;
}
else if(i%12==2){
cout << "牛" << endl;
}
else if(i%12==3){
cout << "虎" << endl;
}
else if(i%12==4){
cout << "兔" << endl;
}
else if(i%12==5){
cout << "龍" << endl;
}
else if(i%12==6){
cout << "蛇" << endl;
}
else if(i%12==7){
cout << "馬" << endl;
}
else if(i%12==8){
cout << "羊" << endl;
}
else if(i%12==9){
cout << "猴" << endl;
}
else if(i%12==10){
cout << "雞" << endl;
}
else if(i%12==11){
cout << "狗" << endl;
}
else if(i%12==0){
cout << "豬" << endl;
}
}
}