错误代码:
//2000是闰年,不是所有闰年+4都是闰年
//这个方法一直用的是rel=y+4*n,就默认了闰年+4还是闰年,晕~~~
#include<iostream>
using namespace std;
int main()
{
int m,n,y,temp,rel;
while(cin>>m)
{
for(int i=0;i<m;i++)
{
cin>>y;
cin>>n;
temp=y;
if((y%4==0&&y%100!=0)||y%400==0)
rel=y+4*n;//2000是闰年,不是所有闰年+4都是闰年
{
while(temp)
{
temp++;
if((temp%4==0&&temp%100!=0)||temp%400==0)
{
rel=temp+4*n;
break;
}
}
}
else
{
while(temp)
{
temp++;
if((temp%4==0&&temp%100!=0)||temp%400==0)
{
rel=temp+4*n;
break;
}
}
}
cout<<rel<<endl;
}
}
return 0;
}
正确代码:借用网上某牛的~~~~简洁
#include<iostream>
using namespace std;
int main()
{
int year,n,tot,num;
int i;
scanf("%d",&tot);
while(tot --)
{
num = 0;
scanf("%d%d",&year,&n);
for(i = year; num < n; i +=1)
if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
num ++;
printf("%d\n",i - 1);
}
return 0;
}
我的代码:
//2000是闰年,不是所有闰年+4都是闰年
//这个方法一直用的是rel=y+4*n,就默认了闰年+4还是闰年,晕~~~
#include<iostream>
using namespace std;
int main()
{
int m,n,y,i,num;
while(cin>>m)
{
while(m--)
{
cin>>y;
cin>>n;
num=0;
for(i=y;num<n;i++)
if((i%4==0&&i%100!=0)||i%400==0)
num++;
cout<<i-1<<endl;
}
}
return 0;
}