题解 | 回文日期
回文日期
https://www.nowcoder.com/practice/0372242deac541d0b578cc6563395681
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#define endl '\n'
using vi=vector<int>;
using vll=vector<ll>;
using pqi=priority_queue<int>;
using pqll=priority_queue<ll>;
using qi=queue<int>;
typedef pair<int,int> pii;
using vpii=vector<pii>;
const int MOD=998244353;
int runnian(int a){//写一个判断闰年的函数
if(a%100!=0&&a%4==0) return 1;
else if(a%400==0) return 1;
else return 0;
}
int hefariqi(int a){//写一个判断日期是否合法的函数
if((a/100)%100<=12){//月份小于等于12
//大月
if(a/100%100==1||a/100%100==3||a/100%100==5||a/100%100==7||a/100%100==8||a/100%100==10||a/100%100==12){
if(a%100<=31) return 1;
}
//小月
if(a/100%100==4||a/100%100==6||a/100%100==9||a/100%100==11){
if(a%100<=30) return 1;
}
//二月单独判断
if(a/100%100==2){
if(runnian(a/10000)){//如果年份是闰年
if(a%100<=29) return 1;
}
else{//平年
if(a%100<=28) return 1;
}
}
}
return 0;
}
int huiwen(int a){//写一个判断是否是回文数的函数
int temp=a;
int jud=0;
for(int i=1;i<=8;i++){
jud*=10;
jud+=temp%10;
temp/=10;
}
if(jud==a) return 1;
return 0;
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int count=0;
int a,b;cin>>a;cin>>b;
for(int i=a;i<=b;i++){
if(hefariqi(i)&&huiwen(i)) count++;
}
cout<<count<<endl;
return 0;
}
vivo公司福利 697人发布