-1 의 50만 거듭제곱을 -1**(500000)으로 하면 안되는 이유

파이썬에서 어떤 정수의 거듭제곱을 구한다면 **을 사용한다

 

print(3**2)
9

 

 

그런데 사실 -1의 거듭제곱은 홀수번 거듭제곱하면 -1이고 짝수번 거듭제곱하면 1이다. 

 

그래서 단순히 n이 짝수인지 홀수인지에 따라 (-1)**(n)을 바로 계산할 수 있다

 

그래봤자 큰 차이 없는거 그냥 하면 되는거 아니냐? 라고 생각할 수 있는데, 한두번 계산하는건 크게 차이 없지만

 

n이 충분히 클때 (-1)**(n)을 여러번 계산하면 시간차이가 3~4배 정도로 차이가 난다

 

 

TAGS.

Comments