HDU 1076 An Easy Task(数学题)

来源:互联网 发布:杨闻萍审计 知乎 编辑:程序博客网 时间:2024/06/18 13:51

                                                                        An Easy Task

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 19832    Accepted Submission(s): 12685


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
32005 251855 122004 10000
 

Sample Output
2108190443236
Hint
We call year Y a leap year only if (Y%4==0 && Y%100!=0) or Y%400==0.
题解:找出输入的从Y开始数的第N个闰年。。。
AC代码:
#include<iostream>using namespace std;int f(int,int);int main(){int N,Y;int n;cin>>n;for(int i=0;i<n;i++){cin>>Y>>N;cout<<f(Y,N)<<endl;}return 0;}int f(int n,int m){ int i=0; while(1) { if((n%4==0&&n%100!=0)||n%400==0) { i++; if(i==m)break; n+=4; } else n++; } return n;}


1 0
原创粉丝点击