题目链接
代码
import java.util.*;
import java.time.*;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
int cnt = 0;
for (int year = 2001; year <= 2021; year++) {
for (int month = 1; month <= 12; month++) {
YearMonth yearMonth = YearMonth.of(year, month);
int days = yearMonth.lengthOfMonth();
for (int day = 1; day <= days; day++) {
int sum = 0;
sum += (2 + year / 10 % 10 + year % 10);
sum += month / 10 + month % 10;
sum += day / 10 + day % 10;
if (isSquare(sum)) {
cnt++;
}
}
}
}
System.out.println(cnt);
}
public static boolean isSquare(int x) {
int y = (int) Math.sqrt(x);
if (y * y == x) {
return true;
}
return false;
}
}
备忘
1、这个比较特殊,年月日都只有几位数,年份的20还是固定的,可以直接加。
2、记得import time库。
3、这里判断平方数的Math.sqrt(x)记得转int。
3054

被折叠的 条评论
为什么被折叠?



