본문 바로가기
프로젝트 오일러

Project Euler #9

by dan.de.lion 2017. 2. 11.

Project Euler #9


문제


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

For example, .
There exists exactly one Pythagorean triplet for which .
Find the product abc.

Pythagorean triplet 일때, (피타고라스의 정리)를 만족하는 세 자연수이다.
e.g.
Pythagorean triplet를 만족하는 경우는 단 하나이다.
이때 의 곱을 구하라.

풀이


  • for로 루핑을 돌렸다.(노가다)
  • 이므로 로 보았다.
  • 이면서 를 만족하는 수로 보았다.
import time
sum = 1000
ck = 0
stime = time.time()

for a in range(1, sum):
    for b in range(a + 1, sum - a):
        c = sum - a - b
        if b >= c:
            break
        elif pow(a, 2) + pow(b, 2) == pow(c, 2):
            ck = 1
            break
    if ck == 1:
        break

print([a, b, c], a * b * c)
print(time.time() - stime)

후기

딱히 수학적인 지식을 필요로 하거나 하는 부분은 없는 문제 같다.
단순 계산문제로 보면 될 것 같다.

'프로젝트 오일러' 카테고리의 다른 글

Project Euler #11  (0) 2017.02.13
Project Euler #10  (0) 2017.02.12
Project Euler #8  (0) 2017.02.10
Project Euler #7  (0) 2017.02.09
Project Euler #6  (0) 2017.02.08

댓글