hdu 1076 An Easy Task

An Easy Task

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 17573    Accepted Submission(s): 11213


Problem Description
Ignatius was born in a leap year, so he want to know when he could hold his birthday party. Can you tell him?

Given a positive integers Y which indicate the start year, and a positive integer N, your task is to tell the Nth leap year from year Y.

Note: if year Y is a leap year, then the 1st leap year is year Y.
 
Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains two positive integers Y and N(1<=N<=10000).
 
Output
For each test case, you should output the Nth leap year from year Y.
 
Sample Input
3
2005 25
1855 12
2004 10000
 
Sample Output
2108
1904
43236
 
Hint
We call year Y a leap year only if (Y%4==0 && Y%100!=0) or Y%400==0.
 
Author
Ignatius.L
 
Recommend
We have carefully selected several similar problems for you:  1032 1170 1048 1062 1070 
 
一道和闰年年份有关的题,注意时间的计算,容易出错,不过这道题还好,数据小,可以直接暴力水过。
 
题意:输入Y,N,Y表示当前的年份,求第N个闰年的年份。(假如Y是闰年,则Y为第一个闰年)
 
附上代码:
 
 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 int main()
 5 {
 6     int n,a,b;
 7     scanf("%d",&n);
 8     while(n--)
 9     {
10         scanf("%d%d",&a,&b);
11         while(b!=0)
12         {
13             if((a%4==0&&a%100!=0)||a%400==0)
14                 b--;
15             if(!b)
16                 break;
17             a++;
18         }
19         printf("%d
",a);
20 
21     }
22     return 0;
23 }
原文地址:https://www.cnblogs.com/pshw/p/4815723.html