题目很简单 就是输入一个起止天(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);
}

  拜拜!!!

posted on 2020-04-24 19:05  月下诺  阅读(180)  评论(0编辑  收藏  举报

Live2D