티스토리 뷰

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import math
countResult=0
result=0
for circumference in range(1,1001):
    count=0
    for a in range(1,circumference):
        for b in range(1,a):
            c=circumference-a-b
            if((int)(math.pow(c,2)!=(int)(math.pow(a,2)+math.pow(b,2)))):
                continue
            else:
                count=count+1
    if(countResult<count):
        countResult=count
        result=circumference
print(result)
cs



여러 번의 수정 끝에 나온 코드이다.



처음엔 c(빗변)도 for문으로 돌렸는데,


이 경우에 for문의 범위를 계속 조작해보아도 시간이 너무 오래 걸려서


c를 [둘레 - a - b]와 같이 설정해 놓고 구했더니


속도가 훨씬 빨라졌다.



그래도 몇 분 걸렸으니 좋은 알고리즘은 아니다.

'Algorithm > Project Euler' 카테고리의 다른 글

프로젝트 오일러 40번  (0) 2017.07.02
프로젝트 오일러 22번  (0) 2017.07.01
프로젝트 오일러 36번  (0) 2017.06.30
프로젝트 오일러 32번  (0) 2017.06.29
프로젝트 오일러 29번  (0) 2017.06.29
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함