杭电 1076 An Easy Task

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.
 

 

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
 
  这题应该没什么说的,只要判断闰年的函数没有写错,这题应该就能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 }

 

posted @ 2013-04-17 17:49  翼展zjz  阅读(262)  评论(0编辑  收藏  举报