문제 설명
Hex는 좌표 평면을 좋아하고 직교 x 및 y축이 있는 2차원 좌표 평면에서 점을 재생합니다.
십진수는 두 개의 양의 정수입니다.
k
, d
주어진 점을 다음과 같이 플롯하고 싶습니다.
- 원점의 x축 방향으로 (0, 0)
a*k
(a = 0, 1, 2, 3 …), y축 방향b*k
특정 거리(b = 0, 1, 2, 3…)에 점을 배치합니다. - 원점과 거리
d
요점은 외부에 있지 않습니다.
예를 들어, k
가을 2, d
4이면 (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (4, 0)에 포인트를 놓고 총 6포인트를 얻습니다.
. 사진
자연 k
원점으로부터의 거리를 나타내는 정수 d
완료되면 총 포인트 수를 반환하는 솔루션 함수입니다.
한계
- 1≤
k
≤ 1,000,000 - 1≤
d
≤ 1,000,000
입력 및 출력 예
케이 | 디 | 결과 |
---|---|---|
2 | 4 | 6 |
하나 | 5 | 26 |
I/O 예시 설명
입력/출력 예제 #1
- 본문의 예와 동일합니다.
I/O 예제 #2
- (0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (1, 0), (1, 1), (1 , 2), (1, 3), (1, 4), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (3, 0 ), (3, 1), (3, 2), (3, 3), (3, 4), (4, 0), (4, 1), (4, 2), (4, 3), 포인트는 (5, 0)에 배치할 수 있으며 총 26포인트입니다.
참조 답변
-
다른 사람들의 대답을 봐
제 1사분면에 사분원을 그린다고 생각한다.
이 설명으로 나는 이것을 보고 이해합니다.
x^2 + y^2 = d^2 인 원이 그려질 것이다.
(0,0)을 무조건 그린다고 생각 ( 가장 많이 그려질 것 ) x=0 부터 x += k 를 하면서 위의 원의 방정식에서 빼면서 y값을 구한다.
y=0 부터 y += k 를 하면서 sqrt(y)와 같거나 작을때까지 count를 더한다.