[Python] 코딩 도장 - Special Pythagorean triplet

Updated:

코딩 도장 사이트의 문제를 직접 풀어본 내용을 정리하여 올립니다.

코딩 도장에서 여러 문제를 확인할 수 있습니다.

난이도 순으로 차근차근 풀어보려 합니다.


[문제: Special Pythagorean triplet] - Lv.1

세 자연수 a, b, c 가 피타고라스 정리 a^2 + b^2 = c^2 를 만족하면 피타고라스 수라고 부릅니다 (여기서 a < b < c ).

예를 들면 3^2 + 4^2 = 9 + 16 = 25 = 5^2 이므로 3, 4, 5는 피타고라스 수입니다.

a + b + c = 1000 인 피타고라스 수 a, b, c는 한 가지 뿐입니다. 이 때, a × b × c 는 얼마입니까?

출처: https://codingdojang.com/scode/545?answer_mode=hide


[풀이]

for a in range(1,501):
    for b in range(1,501):
        # a + b + c = 1000
        c = 1000 - a - b
        
        # a < b < c
        if a > b:
            continue
        
        # a^2 + b^2 = c^2
        if (a**2 + b**2 == c**2):
            print(a,b,c)
            print(f"{a*b*c:,}")
200 375 425
31,875,000

미지수는 3개이고 식은 2개이므로 for문을 사용하였다.


[추천 풀이]

식을 정리하는 방법에 따라 for문 사용법이 다르겠지만 대부분 비슷하게 푸신거 같아 생략하였다.

Leave a comment