摘取百度百科的部分内容
① 普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年)
② 世纪年能被400整除的是闰年。(如2000年是闰年)
③、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年。如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)(此按一回归年365天5h48’45.5’'计算)。
发现之前的计算方法不够完善,主要是现在用不到,在百度百科上看到更加准确的方法记录一下。
#include<iostream>
int main()
{
int year;
std::cout<<"请输入年份:";
std::cin>>year; //输入待判断年份,如2008
std::cout<<year<<(((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0 && year % 3200 != 0) || year % 172800 == 0) ) == 1 ? "年是闰年" : "年是平年")<<std::endl;
return 0;
}
两年之间有多少闰年
从 https://blog.csdn.net/slyjit/article/details/78743325 找到的思路
int runBetween(int y1, int y2)
{
int x = y2-y1;
return x/4-x/100+x/400;
}