• 466. 回文日期


    闰年判断:y % 4 == 0 && y % 100 || y % 400 == 0

    #include<iostream>
    using namespace std;
    
    int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
    int check(int date){
        int p = 1e7, q = 10;
        while(p >= q){
            int a = date / p % 10, b = date % q / (q / 10);
            if(a != b) return 0;
            p /= 10, q *= 10;
        } 
        return 1;
    }
    
    int main(){
        int date1, date2;
        
        cin >> date1 >> date2;
        
        int y = date1 / 10000, m = date1 % 10000 / 100, d = date1 % 100;
        
        int res = 0;
        
        while(date1 <= date2){
            if(check(date1)) res ++;
            d ++;
            int t = days[m];
            if(m == 2 && (y % 4 == 0 && y % 100 || y % 400 == 0)) t ++;
            if(d > t) d = 1, m ++;
            if(m > 12) m = 1, y ++;
            date1 = y * 10000 + m * 100 + d; 
        }
        
        cout << res;
        return 0;   
    }
    
  • 相关阅读:
    抽象代数学习笔记
    WC2021 游记
    简单的数学题
    前缀和公式
    杜教筛
    [模板]BZOJ4756线段树合并
    SPOJ 694
    bzoj1367 可并堆
    莫比乌斯反演(理论)
    es6 Set数据结构
  • 原文地址:https://www.cnblogs.com/tomori/p/13825307.html
Copyright © 2020-2023  润新知