题目
主要思路:因为前四位已经是2022,所以不可能在年份上的“顺子”做文章,只有在月份+日份上
可能1:月份的两位和日份的第一位
可能2:月份的后一位和日份的两位
代码
#include <bits/stdc++.h>
int main() {
int data[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int a[4];
int count = 0;
for(int i = 1; i <= 12; i++) {
if(i < 10) {
a[0] = 0;
a[1] = i;
}
else {
a[0] = 1;
a[1] = i % 10;
}
for(int j = 1; j <= data[i]; j++) {
if(j < 10) {
a[2] = 0;
a[3] = j;
}
else {
a[2] = j / 10;
a[3] = j % 10;
}
if(a[1] == a[0] + 1 && a[2] == a[1] + 1 || a[2] == a[1] + 1 && a[3] == a[2] + 1) {
for(int k = 0; k < 4; k++) {
printf("%d", a[k]);
}
printf("\n");
count++;
}
}
}
printf("%d\n", count);
return 0;
}