首页 > 代码库 > HDOJ 1076
HDOJ 1076
An Easy Task
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 15396 Accepted Submission(s): 9830
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
32005 251855 122004 10000
Sample Output
2108 1904 43236
代码如下:
1 #include <iostream> 2 using namespace std; 3 4 bool is_leapyear(int n) 5 { 6 if((n % 4 == 0) && (n % 100 != 0)) 7 return true; 8 else if(n % 400 == 0) 9 return true;10 else if((n % 3200 == 0) && (n % 172800 == 0))11 return true;12 else 13 return false;14 }15 16 int main()17 {18 int T,i,start,num;19 cin>>T;20 while(T--)21 {22 cin>>start>>num;23 if(is_leapyear(start) == true)24 i = 1;25 else 26 i = 0;27 start++;28 while(i < num)29 {30 if(is_leapyear(start) == true)31 i++;32 start++;33 }34 cout<<start-1<<endl;35 }36 return 0;37 }
HDOJ 1076
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。