파이썬/문제

피타고라스 삼조 찾기

낑깡H 2023. 3. 14. 15:34

a< b< c 이고, a + b + c = 400일 때 피타고라스 성립하는 세 수의 곱 찾기 

 

🍒 문제 분석

 

 

🍒 내 코드

for a in range(1, 401):
    for b in range(a + 1, 401):
        for c in range(b + 1, 401):
            if (a ** 2 + b ** 2 == c ** 2) and (a + b + c == 400):
                print(a * b * c)

 

🌽 다른 사람 코드

for a in range(1, 400):
    for b in range(1, 400):
        c = 400 - a - b
        if a * a + b * b == c * c and a < b < c:
            print(a * b * c)

 

 

🍉 깨달은 점 및 정리

답은 맞지만, for 문을 세 번 쓰는 대신 c = 400 - a - b 로 바꿈으로써 속도를 개선할 수 있다!