給定起始年份 Y 和 N,輸出從 Y 開始(含 Y)的第 N 個閏年。
bool leap(int y) {
return (y%4==0 && y%100!=0) || (y%400==0);
}
#include <cstdio>
int main() {
int T; scanf("%d",&T);
while(T--) {
int Y,N; scanf("%d%d",&Y,&N);
int cnt=0, y=Y;
while(cnt < N) {
if(leap(y)) ++cnt;
if(cnt == N) break;
++y;
}
printf("%d\n", y);
}
return 0;
}
可用數學公式直接計算:4 年一閏、100 年不閏、400 年閏。但 N 較小時線性掃描極快且不易出錯。