
gmp_root 함수는 음수일 때 부호를 유지하지 못하는 이유는 이 함수가 항상 양수인 제곱근을 반환하기 때문입니다.
음수일 때 부호를 유지하고 싶다면, 결과를 반환하기 전에 부호를 확인하고 부호가 음수일 때는 부호를 반대로 변경하는 방법을 사용할 수 있습니다.
다음은 예시입니다.
#hostingforum.kr
python
import gmpy2
def gmp_root_with_sign(n):
root = gmpy2.root(n, 2)
if n < 0:
return -root
else:
return root
print(gmp_root_with_sign(-4)) # -2
print(gmp_root_with_sign(4)) # 2
이 방법은 gmp_root 함수의 결과를 반환하기 전에 부호를 확인하고 부호가 음수일 때는 부호를 반대로 변경하여 음수일 때 부호를 유지할 수 있습니다.
2025-04-30 06:55