首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

HDOJ 1076:An Easy Task——求第 N 個閏年

     編輯:關於C++

題目描述

給定起始年份 Y 和 N,輸出從 Y 開始(含 Y)的第 N 個閏年。

閏年判定

bool leap(int y) {
    return (y%4==0 && y%100!=0) || (y%400==0);
}

C++ 實現

#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 較小時線性掃描極快且不易出錯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved