wider93   2년 전

피타고라스 수가 무엇인지 언급하고 갑자기 직각삼각형을 만들겠다는 언급이 있을 뿐, a,b,c를 피타고라스 수로 써야 한다는 언급이 전혀 없습니다. a,b가 서로소여야 한다는 조건이 삼각형에 적용되지 않을 수 있고, 심지어는 철 막대의 길이는 따로 주어지지 않으므로 정수일 필요도 없을 수 있습니다. 세 변의 길이 a,b,c가 피타고라스 수인 직각삼각형을 만든다고 확실히 적어야 합니다.

adfsfsf   2년 전

c가 정수여야 한다는 조건만 추가하면 충분할 것 같습니다.

다음과 같은 예시를 들어보겠습니다.

5

4 9 12 3 2

이 경우, 답은 4와 3을 고르고, 9와 12를 골라서 총 2개가 되어야 합니다. 하지만, 9와 12를 고른 경우는 나머지 한 변이 15가 되며, 이 세 수는 3이라는 최소 공약수를 갖기에 피타고라스 수가 아닙니다.

피타고라스 수는 그저 직각삼각형을 판별하는 규칙일 뿐입니다. a, b, c가 각각 d*r, e*r, f*r이고, d, e, f가 피타고라스 수라면 길이가 a, b, c인 변들로 만들어지는 삼각형은 직각삼각형입니다. 왜냐하면 기존 삼각형에서 모든 변에 동일한 값만큼 길이를 배수 한 결과는 기존 삼각형과 합동인 삼각형이니까요. 여기 올라오는 문제 중에, 그런 식으로 문제 풀이 자체에는 없어도 되는 개념들이 함께 적혀있는 것들이 좀 있긴 하더라고요.

adfsfsf   2년 전

아, 최소 공약수가 아니라 그냥 공약수입니다. 오타입니다.

wider93   2년 전

(a,b,c)가 피타고라스 수라는 조건이 빠진 것이 맞습니다. 가령 예제1 을 보시면 답은 3이지만, (3,4,*),(4,3,*),(12,9,*),(*,4,5)로 직각삼각형을 구성하면 정수 길이의 삼각형 4개를 만들 수 있습니다.

slah007   2년 전

설명이 부족한 것이 맞습니다.

그냥 직각삼각형을 만든다는 이야기만 있고, 일반적인 피타고라스 수가 되도록 매칭하면 예제가 안 나와서 맥락 상 위에서 설명한 피타고라스 수를 써야 한다고 해석할 뿐입니다.

또한 약간 불편한 점이 문제에서 설명하는 (a,b,c)는 일반적인 피타고라스 수가 아니라 원시 피타고라스 수입니다. 더 정확히는 원시 피타고라스 세 쌍 또는 원시 피타고라스 삼조 (https://ko.wikipedia.org/wiki/...) 라고 부르는 것이 옳다고 생각합니다.

slah007   2년 전

심지어 실제로 풀어 보니 반드시 쇠 막대기를 빗변으로만 사용 가능한데, 위의 설명만 가지고 눈치껏 판단하기가 어려운 정보입니다.

예를 들어 아래와 같은 예제에 대해 답이 2가 아니라 1입니다.

4

5 4 5 13

예제나 지문으로는 알기 어렵지만 중요한 정보라 꼭 수정해야 합니다.

jh05013   2년 전

참고로 원본입니다. http://topcoder.bgcoder.com/pr...

댓글을 작성하려면 로그인해야 합니다.