프로젝트 오일러 도전기 #9

Special Pythagorean Triplet

A Pythagorean triplet is a set of three natural numbers, , for which, 

a^2+b^2=c^2

For example, 3^2+4^2=9+16=25=5^2. 

There exists exactly one Pythagorean triplet for which a+b+c=1000 . 

Find the product .

a + b + c = 1000 이 되는 피타고라스 수

세 자연수 abc 가 피타고라스 정리 a2 + b2 = c2 를 만족하면 피타고라스 수라고 부릅니다 (여기서 a < b < c ).
예를 들면 32 + 42 = 9 + 16 = 25 = 52이므로 3, 4, 5는 피타고라스 수입니다.

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


언듯 보면 쉬워보이는듯 하지만 abc 변수를 어떻게 구현해야될지 막막하다

abc 변수가 3개면 복잡해지기 때문에

c = 1000-a-b 인걸 이용하여

두개로 제어해 보겠다

a*a+b*b = c*c 이므로

a*a+b*b = (1000-a-b)*(1000-a-b) 가 성립하는

a,b를 하나씩 돌려가면서 맞는걸 찾으면 될것이다. 

또한 가지수가 한가지라 했으니 a,b의 크기는 신경 안써도 될듯하다

for a in range(1,999) :
  for b in range(1,999) :
    c=1000-a-b
    pita=a*a+b*b
    if pita == c*c :
      anser = a*b*c
      print(anser,a,b,c)
      break    

클리어

댓글

이 블로그의 인기 게시물

프로젝트 오일러 도전기 #6 (with 파이썬 프로그래밍공부)

글자 폰트와 가독성 관련 논문 정리

프로젝트 오일러 도전기 #1 (with 파이썬 프로그래밍공부)