题目很简单 就是输入一个起止天(XXXX年XX月XX日的亚子)
判断其中有没有回文日期
一开始做题 先想到的是写函数分别判断回文和日期是否成立
但是判断年份是否成立写不出来(还是蒟蒻啊)
所以就用了一个稍微有点赖皮的方法
int yue[12]={31,28,31,30,31,30,31,31,30,31,30,31};
表示不同月份的天数。至于闰年的2月29日嘛。
如果这一天是回文日期 那么这一天为9220 02 29,只要判断是否存在就好了
直接把2月29日踢出群聊 判断其他日子就OK了;
for(int i=1;i<=12;i++) for(int j=1;j<=yue[i-1];j++) { a=(j%10)*1000+(j/10)*100+(i%10)*10+i/10; if(a<(n/10000)||a>(m/10000))continue; p++; }
上面是回文日期的判断;
最终的AC代码如下
#include<bits/stdc++.h> int n,m,a,p; int yue[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int main() { scanf("%d %d",&n,&m); for(int i=1;i<=12;i++) for(int j=1;j<=yue[i-1];j++) { a=(j%10)*1000+(j/10)*100+(i%10)*10+i/10; if(a<(n/10000)||a>(m/10000))continue; p++; } if(n<=92200229&&m>=92200229)p++; printf("%d",p); }
拜拜!!!