d532 - 文文的求婚 (三)
題目描述
題目要求計算給定年份範圍 a 到 b (包含 a 和 b) 之間閏年的數量。
解題思路
閏年的判斷規則如下:
- 能被 4 整除但不能被 100 整除的年份是閏年。
- 能被 400 整除的年份也是閏年。
程式碼使用迴圈遍歷從 a 到 b 的所有年份,並對每個年份應用上述閏年判斷規則。如果年份是閏年,則將閏年計數器 ans 增加 1。最後,輸出 ans 的值。
複雜度分析
- 時間複雜度: O(b - a)
- 空間複雜度: O(1)
程式碼
#include <iostream>
using namespace std;
int main (){
int a=0,b=0,ans=0;
while(cin >> a >> b){
for(int i=a;i<=b;i++){
if(i % 4 == 0 && i % 100 != 0 || i % 400 == 0){
ans++;
}
}
cout << ans << endl;
ans=0;
}
}