* Computer Science/Project Euler

project euler 39. problem

soicem 2016. 9. 20. 12:30

세 변의 길이가 모두 자연수 {a, b, c}인 직각삼각형의 둘레를 p 로 둘 때, p = 120 을 만족하는 직각삼각형은 아래와 같이 세 개가 있습니다.

{20, 48, 52}, {24, 45, 51}, {30, 40, 50}

1000 이하의 둘레 p에 대해서, 직각삼각형이 가장 많이 만들어지는 p의 값은 얼마입니까?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
= 1000
 
List = range(0, n)
 
for a in range(1, n/2):
    for b in range(1, n/2):
        for c in range(1, n/2):
            if a**2 + b**2 == c**2 and a+b+<=n:
                #print "%d**2 + %d**2 = %d**2" % (a,b,c)
                List[a+b+c] +=1
        
maxVal = 0
for i in range(0, n):
    List[i] -= i
    if List[i] > maxVal:
        maxVal = List[i]
print List.index(maxVal) # 840
#print List.index(max(List))
cs


'* Computer Science > Project Euler' 카테고리의 다른 글

project euler 42. problem  (0) 2016.09.23
project euler 40. problem  (0) 2016.09.22
project euler 38. problem  (0) 2016.09.06
project euler 36. problem  (0) 2016.09.01
project euler 목적.  (0) 2016.08.30