• 历届试题 回文日期


    又是喜闻乐见的日期题。

    枚举年份,构造回文日期和ABABBABA型的回文日期,判断构造出的日期是否合法。

    注意构造出的日期不能和当前日期相等。

    int month[2][13]={
        {0,31,28,31,30,31,30,31,31,30,31,30,31},
        {0,31,29,31,30,31,30,31,31,30,31,30,31}
    };
    
    bool isLeap(int year)
    {
        return year % 4 == 0 && year % 100 || year % 400 == 0;
    }
    
    bool check(int yy,int mm,int dd)
    {
        if(mm == 0 || mm > 12) return false;
        if(dd == 0 || dd > month[isLeap(yy)][mm]) return false;
        return true;
    }
    
    int main()
    {
        int n;
        cin>>n;
    
        int yy=n/10000,mm=n%10000/100,dd=n%10000%100;
        for(int i=yy;i<10000;i++)
        {
            int t=i,res=0;
            while(t)
            {
                res=res*10+t%10;
                t/=10;
            }
    
            int yy=i,mm=res/100,dd=res%100;
            int m=yy*10000+mm*100+dd;
            if(m != n && check(yy,mm,dd))
            {
                printf("%d%02d%02d
    ",yy,mm,dd);
                break;
            }
        }
    
        for(int i=yy/100;i<100;i++)
        {
            int t=i*100+i,res=0;
            while(t)
            {
                res=res*10+t%10;
                t/=10;
            }
    
            int yy=i*100+i,mm=res/100,dd=res%100;
            int m=yy*10000+mm*100+dd;
            if(m != n && check(yy,mm,dd))
            {
                printf("%d%02d%02d
    ",yy,mm,dd);
                break;
            }
        }
        //system("pause");
        return 0;
    }
    
  • 相关阅读:
    数据加载存储和文件格式
    基本概率分布图的绘制
    pandas处理各类表格数据
    python时间处理
    matplotlib实现数据可视化
    sql学习笔记:表的运算
    sql杂记:一些坑和数据库恢复
    exists关键词和case表达式
    后台工具screen
    SQL函数小记
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14672219.html
Copyright © 2020-2023  润新知