小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。
例如:半径的平方如果为25
优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int b = sc.nextInt();
getPoint(b);
}
public static void getPoint(int x) {
int count = 0;
for (int i = 1; i * i < x; i++) {
int b = (int) Math.sqrt(x - i * i);
if (i * i + b * b == x) {
count++;
}
}
count = count * 4;
int c = (int) Math.sqrt(x);
if (c * c == x) {
count = count + 4;
}
System.out.println(count);
}
}
时间: 2024-12-17 11:13:01