<aside> 💡 임의 정밀도 / 큰 수 연산/이분 탐색/수학/수치해석
</aside>
Memory 131676KB Time 652ms Code Length 362B
import decimal
decimal.getcontext().prec = 1000
N = int(input())
for _ in range(N):
d = decimal.Decimal(input().rstrip() + '.0000000000')
pow = decimal.Decimal('1') / decimal.Decimal('3')
d = decimal.Decimal(d ** pow)
d = round(d, 500)
d = decimal.Decimal(d).quantize(decimal.Decimal('.0000000001'), rounding=decimal.ROUND_DOWN)
print(d)
이 코드는 사용자로부터 입력받은 숫자의 세제곱근을 계산하는 코드이다. 먼저, 'decimal' 모듈을 임포트하고, 소수점 이하의 정밀도를 1000자리로 설정한다.
그 후, 사용자로부터 숫자를 입력받는다. 이 때, 입력받은 숫자에 '.0000000000'을 추가하여 decimal.Decimal 객체를 생성한다.
다음으로, 세제곱근을 계산하기 위해 '1/3'을 계산하여 'pow' 변수에 저장한다.
입력받은 숫자를 세제곱근 계산하여 'd' 변수에 저장한다.
그 후, 결과값을 반올림하여 소수점 이하 500자리까지 표현하고, 이를 다시 decimal.Decimal 객체로 변환한다.
마지막으로, 결과값을 소수점 이하 10자리까지 표현하고, 이를 내림하여 최종 결과값을 출력한다.