30分求条
查看原帖
30分求条
1241537
quxiangyu楼主2025/2/7 15:15
大佬们帮帮本蒟蒻吧(;´༎ຶД༎ຶ`)

输出一直是0

#include<bits/stdc++.h>

using namespace std;

int a, b;
int w[233];
bool huiwen(int x) {
	int cnt = 0;
    while(x) {
        cnt ++;
        w[cnt] = x % 10;
        x /= 10;
    }
    for(int i = 1 ; i <= 4 ; i ++) {
        if(w[i] != w[9 - i]) return 0;
    }
    return 1;
}
int pingnian[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 32};
int runnian[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 32};

bool pd(int x) {
    if(x % 400 == 0) return 1;
    if(x % 100 != 0 && x % 4 == 0) return 1;
    else return 0; 
}
bool hefa(int x) {
    int m = x % 100 / 100;
    int d = x % 100;
    int y = x / 10000;
    bool run = pd(y);
    if(m <= 12 && m >= 1) {
        if(run == 1 && d <= runnian[m]) return 1;
        if(run == 0 && d <= pingnian[m]) return 1;
    }
    return 0;
}
int main() {
    cin >> a >> b;
    int ans = 0;
    for(int i = a ; i <= b ; i ++) {
        if(hefa(i)) {
            if(huiwen(i)) {
                ans ++;
                cout << i;
            }
        }
    }
    cout << ans << endl;
    return 0;
}
2025/2/7 15:15
加载中...