-1 의 50만 거듭제곱을 -1**(500000)으로 하면 안되는 이유
파이썬에서 어떤 정수의 거듭제곱을 구한다면 **을 사용한다
print(3**2)
9
그런데 사실 -1의 거듭제곱은 홀수번 거듭제곱하면 -1이고 짝수번 거듭제곱하면 1이다.
그래서 단순히 n이 짝수인지 홀수인지에 따라 (-1)**(n)을 바로 계산할 수 있다
그래봤자 큰 차이 없는거 그냥 하면 되는거 아니냐? 라고 생각할 수 있는데, 한두번 계산하는건 크게 차이 없지만
n이 충분히 클때 (-1)**(n)을 여러번 계산하면 시간차이가 3~4배 정도로 차이가 난다
'프로그래밍 > Python' 카테고리의 다른 글
functools.partial을 이용하여 기존 함수를 재활용한 새로운 함수 만들기 (0) | 2024.04.13 |
---|---|
머신러닝에서 hyperparameter search를 도와주는 optuna 라이브러리 소개 (0) | 2024.04.02 |
(매우 중요)대용량 데이터로 colab 딥러닝 학습할 때 첫번째 epoch이 매우 느리다면(colab 대용량 데이터, dataloader 병목현상) (0) | 2024.01.18 |
구글드라이브로 대용량 데이터를 다룰 때 필요한 테크닉(압축해제, 자동압축, 파일 크기 확인방법) (0) | 2024.01.14 |
Python 개발의 문서화 도구 Sphinx 사용해보기 (0) | 2023.12.14 |
TAGS.