두 원 사이에서 정수를 찾기 위해, 피타고라스 공식을 사용
0,0
을 기준해서 X|Y
가 양수만 계산 후 동일한 면이 4개가 있음으로
나온 결과 값에 4를 곱해준다.
public long solution(int r1, int r2) {
long count_4 = 0;
long r1_pow = (long) Math.pow(r1, 2);
long r2_pow = (long) Math.pow(r2, 2);
int x = 1;
while(x < r2){
long x_pow = (long) Math.pow(x, 2);
double r1_y = Math.sqrt(r1_pow - x_pow);
double r2_y = Math.sqrt(r2_pow - x_pow);
if(x < r1 && r1_y % 1 == 0) r1_y--;
count_4 += (int) r2_y - (int) r1_y;
x++;
}
long answer = count_4 + r2 - r1 +1;
answer *= 4;
System.out.println("answer = " + answer);
return answer;
}