#include <cstdio>
#include <string>
#include <unordered_set>
using namespace std;
int main() {
unordered_set<int> hash;
for (int i = 1; i < 21; ++i)
hash.insert(i * i);
int res = 0;
for (int y = 2001; y <= 2021; ++y) {
for (int m = 1; m <= 12; ++m) {
for (int d = 1; d <= 31; ++d) {
// 这里是模版
if (!(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)) {
if (m == 2) { // 闰年: 可以被400整除 或者 被4而不能被100整除的年
if (m % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) { // 如果是润年
if (d > 29)
break;
} else {
if (d > 28)
break;
}
} else {
if (d > 30)
break;
}
}
int sum =
y % 10 + y /10 % 10 + y /100 % 10 + y / 1000 % 10 +
m % 10 + m / 10 % 10 +
d % 10 + d / 10 % 10;
if (hash.count(sum)) {
++res;
printf("%d-%d-%d -> %d\n", y, m, d, sum);
}
}
}
}
printf("%d", res);
return 0;
}
1 回复
0 转发
0 喜欢
3 阅读



