#include <iostream>
using namespace std;
bool isLeap(int y){
return (y%4==0&&y%100!=0)||(y%400==0);
}
bool check(int year,int month,int day)
{
if(month>12||month==0)return false;
if(day>31)return false;
if(month==2)
if(isLeap(year)&&day>29)return false;
else if(!isLeap(year)&&day>28)return false;
if(month==4||month==6||month==9||month==11){
if(day>30) return false;
}
return true;
}
int main()
{
int year,month,day,a,b,c,d,e,f,g,h;
int n;
cin>>n;
bool flag=false;
for(int i=n+1;i<=99999999;i++)
{
year=i/10000;
month=i%10000/100;
day=i%100;
a=i%10;
b=(i/10)%10;
c=(i/100)%10;
d=(i/1000)%10;
e=(i/10000)%10;
f=(i/100000)%10;
g=(i/1000000)%10;
h=(i/10000000)%10;
if(a==h&&b==g&&c==f&&d==e&&flag==false)
{
if(check(year,month,day))
{
cout<<i<<endl;
flag=true;
}
}
if(a==h&&b==g&&c==f&&d==e&&a==c&&b==d)
{
if(check(year,month,day))
{
cout<<i<<endl;
break;
}
}
}
return 0;
}
蓝桥杯——回文日期
最新推荐文章于 2024-11-05 20:12:32 发布
该C++代码实现了一个程序,从给定的数值开始遍历到99999999,检查每一年是否为闰年,并验证相应的月份和日期是否有效。如果找到一个日期的数字是连续且重复的,并且该日期合法,程序将打印这个日期并终止搜索。
摘要由CSDN通过智能技术生成