문제
https://www.acmicpc.net/problem/4153
4153번: 직각삼각형
문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로
www.acmicpc.net
문제는 위 사이트를 참고해주세요.
풀이
while True:
numList = list(map(int, input().split()))
if 0 in numList:
break
numList.sort()
if (numList[0] ** 2) + (numList[1] ** 2) == numList[2] ** 2:
print("right")
else:
print("wrong")
while문으로 테스트 케이스를 계속해서 받게합니다.
numList에는 입력한 변의 길이들을 리스트로 넣어줍니다.
만약 numList안에 0이 있으면 while문을 종료시켜 0 0 0이 입력됐을 때 종료시키게 합니다.
numList.sort()를 하면 숫자가 작은 순서대로 정렬이 되기 때문에 입력한 숫자의 순서 상관없이 큰 수가 끝에 있게됩니다.
그래서 피타고라스의 정리가 성립되면 right 안되면 wrong을 출력합니다.
결과

'IT > 알고리즘' 카테고리의 다른 글
1일 N알고리즘 - #29 (0) | 2020.05.27 |
---|---|
1일 N알고리즘 - #28 (0) | 2020.05.25 |
1일 N알고리즘 - #26 (0) | 2020.05.25 |
1일 N알고리즘 - #25 (0) | 2020.05.25 |
1일 N알고리즘 - #24 (0) | 2020.05.24 |
댓글