직각삼각형은 변의 길이가 3개가 주어졌을 때, 가장 큰 수의 제곱이 다른 두 수의 제곱과 같은 값을 가진다.

이 특징을 사용해서 코딩을 하면 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
while True:
    tri = list(map(int, input().split()))
    sorted_tri = sorted(tri)
    if sorted_tri[0== 0 or sorted_tri[1== 0 or sorted_tri[2== 0:  # 마지막 줄에 주어지는 입력 케이스이다: 0 0 0
        break
    else:
        pass
 
    if(sorted_tri[0]**2 + sorted_tri[1]**2== sorted_tri[2]**2:
        print("right")
    else:
        print("wrong")
 
cs

 

 

출처: https://www.acmicpc.net/problem/4153

 

4153번: 직각삼각형

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

www.acmicpc.net

 

+ Recent posts