WjExplor Story

피타고라스 삼조 본문

Python/Python : Code Study

피타고라스 삼조

더블유제이플로어 2025. 7. 30. 15:45

실습 설명

'피타고라스 정리'라고 들어 보셨나요? 직각삼각형에서, 빗변의 제곱이 두 직각변의 제곱의 합과 같다는 정리입니다.

거기서 나온 '피타고라스 삼조'라는 개념이 있는데요. 피타고라스 삼조란, 피타고라스 정리(a2+b2=c2a2+b2=c2)를 만족하는 세 자연수 쌍 (a,b,c)(a,b,c)입니다.

예를 들어, 32+42=5232+42=52이기 때문에 (3,4,5)(3,4,5)는 피타고라스 삼조입니다.

a<b<ca<b<c라고 가정할 때, a+b+c=400a+b+c=400을 만족하는 피타고라스 삼조 (a,b,c)(a,b,c)는 단 하나인데요. 이 경우, a∗b∗ca∗b∗c는 얼마인가요?

문제 출처: Project Euler Problem 9 , 코드잇

실습 결과

2040000

우리가 찾는 피타고라스 삼조 (a, b, c)는:

  • 조건 1️⃣: a² + b² = c² (피타고라스 삼조)
  • 조건 2️⃣: a + b + c = 400
  • 조건 3️⃣: a < b < c (자연수, 순서 조건)
  • 결과: a * b * c = ?
for a in range(1,400):
    for b in range(a+1, 400-a): # b 는 a 보다 크고, c 도 양수여야 하니깐 범위 조정
        c = 400-a-b
        if a*a + b*b == c*c and a<b<c:
            print(a*b*c)

개인적으로 궁금해서 찾아본 a b c 의 값은

a = 80 b = 150 c = 170 이다

 

'Python > Python : Code Study' 카테고리의 다른 글

투표 집계하기  (1) 2025.08.01
사전 뒤집기  (2) 2025.08.01
구구단 만들기 (for 문)  (3) 2025.07.30
거듭제곱  (1) 2025.07.30
enumerate() 함수  (1) 2025.07.30