[백준/파이썬] 6322번 직각 삼각형의 두 변 풀이

업데이트:



문제 정보


풀이

문제

세 변 중 하나가 -1로 주어질 때 직각삼각형 조건을 이용해 나머지 변 길이를 구하는 문제입니다. 불가능하면 Impossible.을 출력합니다.

코드

t,r=0,[]
while True:
    t+=1
    a,b,c=map(int,input().split())
    if a==b==c==0:break
    r.append(f'Triangle #{t}\n')
    if a*a < c*c and b*b < c*c:
        if a < 0:r[-1]+=('a = %.3f' %(c*c-b*b)**.5)
        elif b < 0:r[-1]+=('b = %.3f' %(c*c-a*a)**.5)
        continue
    elif c < 0:
        r[-1]+=('c = %.3f' %(a*a+b*b)**.5)
        continue
    r[-1]+=('Impossible.')
print('\n\n'.join(r))

설명

피타고라스 정리를 이용해 미지수인 변을 계산하고, 제곱근이 유효하지 않은 경우는 Impossible. 처리합니다.



댓글남기기