본문 바로가기
Algorithm/이론

피타고라스의 정리

by Salgoo26 2021. 8. 1.

주어진 조건(x < y < z < 50) 내에서 피타고라스 방정식의 해를 찾으세요.

 

[출력 예시]

[(3, 4, 5), (5, 12, 13), (6, 8, 10), (7, 24, 25), (8, 15, 17), (9, 12, 15), (9, 40, 41), (10, 24, 26), (12, 16, 20), (12, 35, 37), (15, 20, 25), (15, 36, 39), (16, 30, 34), (18, 24, 30), (20, 21, 29), (21, 28, 35), (24, 32, 40), (27, 36, 45)]

 

# 반복문 활용

result = []
# z범위 설정, 회문
for z in range(1, 50):
	# z보다 작도록 범위 설정
    for y in range(1, z):
    	# y보다 작도록 범위 설정
        for x in range(1, y):
            if x**2 + y**2 == z**2:
                result.append((x, y, z))
                
print(result)

=>
[(3, 4, 5), (6, 8, 10), (5, 12, 13), (9, 12, 15), (8, 15, 17), (12, 16, 20), (15, 20, 25), (7, 24, 25), (10, 24, 26), (20, 21, 29), (18, 24, 30), (16, 30, 34), (21, 28, 35), (12, 35, 37), (15, 36, 39), (24, 32, 40), (9, 40, 41), (27, 36, 45)]

 

 

result = [(x, y, z) for z in range(1, 50) for y in range(1, z) for x in range(1, y) if x**2 + y**2 == z**2]              

print(result)

=>
[(3, 4, 5), (6, 8, 10), (5, 12, 13), (9, 12, 15), (8, 15, 17), (12, 16, 20), (15, 20, 25), (7, 24, 25), (10, 24, 26), (20, 21, 29), (18, 24, 30), (16, 30, 34), (21, 28, 35), (12, 35, 37), (15, 36, 39), (24, 32, 40), (9, 40, 41), (27, 36, 45)]

'Algorithm > 이론' 카테고리의 다른 글

2차원 배열 회전  (0) 2021.08.17
순열 만들기  (0) 2021.08.10
Baby-gin Game  (0) 2021.08.10
최댓값 알고리즘  (0) 2021.08.09
2진수 변환  (0) 2021.07.26

댓글