hw20王文浩 @ 2021-04-03 17:50:42
#include<bits/stdc++.h>
using namespace std;
int main(){
int date1,date2,date,x=0,y1,y2,y3,y4,y,m,m1,m2,d,d1,d2;
cin>>date1>>date2;
date=date1;
for(;date<=date2;date+=1){
y=date/10000;
m=date%10000/100;
d=date%100;
y1=y/1000;
y2=y%1000/100;
y3=y%100/10;
y4=y%10;
m1=m/10;
m2=m%10;
d1=d/10;
d2=d%10;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
if(y1==d2&&y2==d1&&y3==m2&&y4==m1){
x+=1;}
}
else if(m==4||m==6||m==9||m==11){
if(y1==d2&&y2==d1&&y3==m2&&y4==m1){
x+=1;}
}
if(m==2){
if(y1==d2&&y2==d1&&y3==m2&&y4==m1){
if(y%100==0&&y%400==0||y%4==0){
if(m1==0&&m2==2&&d1<=2&&d2<=8)
x+=1;
}
x+=1;}
}
}
cout<<x<<endl;
return 0;
}
by metaphysis @ 2021-04-03 20:11:31
@hw20王文浩
Hack:
82200228
82200228
您的代码输出:
2
by metaphysis @ 2021-04-03 20:19:19
@hw20王文浩
您的代码会将类似于 45211254
的日期也认为是合法的回文日期。需要注意判断年月日中的“日”是否在“01”到“31”的范围内。
by hw20王文浩 @ 2021-04-04 12:50:14
@metaphysis 感谢指出错误!