这题枚举日期的方法可以好好学学
原题
#include<bits/stdc++.h>
using namespace std;
int ans;
int data1, data2;
int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
bool check(int x)
{
int year = x / 10000;
int mouth = x % 10000 / 100;
int day = x % 100;
if(!mouth || mouth >= 13 || !day) return false;
if(mouth != 2 && day > days[mouth]) return false;
if(mouth == 2){
bool peal = year % 4 == 0 && year % 100 || year % 400 == 0;
if(day > 28 + peal) return false;
}
return true;
}
int main()
{
cin>>data1>>data2;
for(int i = 0; i < 10000; ++ i){
int r = i, x = i;
for(int j = 0; j < 4; j ++ ) r = r * 10 + x % 10, x /= 10;
if(r >= data1 && r <= data2 && check(r)) ans ++ ;
}
cout<<ans<<endl;
return 0;
}