题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
2021 是一个非常特殊的数,它可以表示成两个非负整数的平方差,2021 = 45 * 45 - 2 * 2。
2025 也是同样特殊的数,它可以表示成 2025 = 45 * 45 - 0 * 0。
请问,在 1 到 2021 中有多少个这样的数?
请注意,有的数有多种表示方法,例如 9 = 3 * 3 - 0 * 0 = 5 * 5 - 4 * 4,在算答案时只算一次。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int ans=0;
for(int i=1;i<=2021;i++){
if(check(i)){
ans++;
}
}
System.out.println(ans);
}
public static boolean check(int n){
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
if((i*i-j*j)==n){
return true;
}
}
}
return false;
}
}