반응형
SMALL

피타고라스의 정리는 중학교때부터 참 많이 들어봤던 정리이다. 3^2+4^2 = 5^5 이러한 정리를 피타고라스 정리라고 했다. 이것을 파이썬으론 for문으로 간단히 짤 수 있다. 코드는 다음과 같다.


for a in range(1, 333):// 1~333까지 반복한다.
for b in range(a + 1, 500): // 마지막 333에 1을 더해 500까지 반복해준다.
c = 1000 - a - b // 1000에다가 a,b구한값을 빼준다.
if a * a + b * b == c * c: //그리고 앞서말한 피타고라스 정리를 정의해주고
print(a * b * c) // 출력해준다.


처음에 어떻게 짤까 좀 고민을 많이 했었다. for문으로 어떻게 돌릴것인지 출력은 어떤식으로 할것인지 생각을 좀 해봤었던 거 같다.

저 코드를 실행시키면 다음과 같이 결과값이 잘 출력됨을 볼 수 있다.




그리고 저 위 코드 말고 또 하나의 코드를 제시해주자면 다음과 같다.


for a in range(1, 333):
for b in range(a + 1, 500):
c = 1000 - a - b
a < b < c and c < 500 // a<b<c 이 순으로 되어야 하며 c는 500이하여야 한다.
if c ** 2 == a ** 2 + b ** 2:
print(a * b * c)

저렇게도 짜봤지만 결과는 똑같았다. 피타고라스 정의는 여러가지 형태로도 짤 수 있다.(단지 코드가 좀 효율적인지 아닌지

를 잘 판단해야 한다. 간혹 비효율적으로 짠 코드들이 있는데 보면 무슨말인지 모를때가 있다.) 저 두 제시한 코드 이외에도

또 다른 코드로도 짤 수 있으니 그건 본인이 생각해보면 될 것 같다.


반응형
LIST

'프로그래밍언어 > PYTHON' 카테고리의 다른 글

주민등록번호 가리기  (0) 2017.08.13
자리수의 합 구하기  (0) 2017.08.13
숫자야구게임  (0) 2017.07.23
환전 프로그램  (0) 2017.07.23
온도변환프로그램  (0) 2017.07.23
블로그 이미지

만년필석사

,