문제 링크

<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자리까지 표현하고, 이를 내림하여 최종 결과값을 출력한다.