2013
11-27

# HDU 1076 An Easy Task-C++-模拟-[解题报告] C++

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.

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).

For each test case, you should output the Nth leap year from year Y.

3
2005 25
1855 12
2004 10000

2108
1904
43236
Hint

We call year Y a leap year only if (Y%4==0 && Y%100!=0) or Y%400==0.

/*
* 1076_1.cpp
*
*  Created on: 2013年8月10日
*/

#include <stdio.h>

int main(){
int t;
scanf("%d",&t);
while(t--){
int year,num;
scanf("%d%d",&year,&num);
while(num){
if((year%4 == 0 && year%100 !=0)||(year%400==0)){
num--;
}
year++;
}

printf("%d\n",year-1);
}
}

1. 换句话说，A[k/2-1]不可能大于两数组合并之后的第k小值，所以我们可以将其抛弃。
应该是，不可能小于合并后的第K小值吧

2. 很高兴你会喜欢这个网站。目前还没有一个开发团队，网站是我一个人在维护，都是用的开源系统，也没有太多需要开发的部分，主要是内容整理。非常感谢你的关注。