<문제>
<입력>
- 정수(r1, r2) - 반지름
- 1 ≤
r1 < r2 ≤ 1,000,000
<출력>
<풀이>
- 파다고라스 원의 정리 : x2+y2=r2
- 이용 : r12<=x2+y2<=r22
- r12−x2<=y2<=r22−x2
- 아래 주석 읽어보면 이해할 수 있다.
<전체코드>
class Solution {
public long solution(int r1, int r2) {
long answer = 0;
for(int i=1; i<=r2; i++) {
int start = (int) Math.ceil(Math.sqrt((long)r1*r1 - (long)i*i));
int end = (int) Math.floor(Math.sqrt((long)r2*r2 - (long)i*i));
answer += end-start+1;
}
return answer*4;
}
}