您的位置:首页 > 其它

杭电 1076 An Easy Task

2013-04-17 17:49 309 查看

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


[align=left]Problem Description[/align]
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.

[align=left]Input[/align]
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).

[align=left]Output[/align]
For each test case, you should output the Nth leap year from year Y.

[align=left]Sample Input[/align]

3
2005 25
1855 12
2004 10000

[align=left]Sample Output[/align]

2108
1904
43236

Hint

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

[align=left]Author[/align]
Ignatius.L

  这题应该没什么说的,只要判断闰年的函数没有写错,这题应该就能AC!
以下是代码:

View Code

#include <stdio.h>
#include <stdlib.h>

int isrui( int y )
{
if( !(y%400) )
return 1;
else if( (y%100)&&!(y%4) )
return 1;
return 0;
}

int main(int argc, char *argv[])
{
int t, y, n, i, cnt;
scanf( "%d", &t );
while( t-- )
{
scanf( "%d%d", &y, &n );
cnt = 0;
for( i = y; cnt < n; i++ )
if( isrui(i) )
cnt++;
printf( "%d\n", i-1 );
}

//system("PAUSE");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: