其实自己选择做这道题目,就是想巩固一种思路,就是先将所有的可能的结果求出 存到一个数组中,然后算结果的时候直接去取就好,这样可以省了很多时间,
比较简单这道题目,看代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
bool p[1000005];
int main()
{
int T;
memset(p,0,sizeof(p));
for(int i=4;i<1000005;i+=4)
{
if(i%100!=0||i%400==0)
p[i]=true;
}
while(scanf("%d",&T)!=EOF)
{
int sta,n;
while(T--)
{
int count=0;
scanf("%d%d",&sta,&n);
for(int i=sta;i<=1000005;i++)
{
if(p[i])
{
count++;
if(count==n)
{
printf("%d\n",i);
break;
}
}
}
}
}
return 0;
}