An Easy Task
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10926 Accepted Submission(s): 6818
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.
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).
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
这题应该没什么说的,只要判断闰年的函数没有写错,这题应该就能AC!
以下是代码:
View Code
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int isrui( int y ) 5 { 6 if( !(y%400) ) 7 return 1; 8 else if( (y%100)&&!(y%4) ) 9 return 1; 10 return 0; 11 } 12 13 int main(int argc, char *argv[]) 14 { 15 int t, y, n, i, cnt; 16 scanf( "%d", &t ); 17 while( t-- ) 18 { 19 scanf( "%d%d", &y, &n ); 20 cnt = 0; 21 for( i = y; cnt < n; i++ ) 22 if( isrui(i) ) 23 cnt++; 24 printf( "%d\n", i-1 ); 25 } 26 27 //system("PAUSE"); 28 return 0; 29 }