프로젝트 오일러 도전기 #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 이 되는 피타고라스 수
세 자연수 a, b, c 가 피타고라스 정리 a2 + b2 = c2 를 만족하면 피타고라스 수라고 부릅니다 (여기서 a < b < c ).
예를 들면 32 + 42 = 9 + 16 = 25 = 52이므로 3, 4, 5는 피타고라스 수입니다.
a + b + c = 1000 인 피타고라스 수 a, b, c는 한 가지 뿐입니다. 이 때, 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
클리어
댓글
댓글 쓰기