백준 03783번 / 3783번 문제 링크
문제 이름 : 세제곱근
주 언어 : Python
태그 : 수학 / 이분탐색 / 임의 정밀도 & 큰 수 연산 / 수치해석
solved.ac 등급 : Platinum V (2022/11/10 확인)
백준에 있는 이진탐색을 활용한 정수 제곱근 문제등을 응용하여 N * (10 ** 30) 의 정수 세제곱근을 이분 탐색을 통해 구해주고, 소수점을 붙여줍니다.
BigInt가 가능한 파이썬 같은 경우에는 (10 ** 30)을 그냥 직접 곱해주면 되고, 그 외에는 0을 30개 붙여주고 풀면 됩니다.
반올림을 하는 것이 아닌 버림이므로, p3≤N×1030인 가장 큰 p를 찾아주면 됩니다.
p를 찾고나면, 정수 p를 문자열로 잘 조작하여 뒤의 10글자 앞에 .을 붙여주면 됩니다.
C나 C++ 같은 언어를 사용하신다면...그냥 BigInt를 구현하셔야 합니다.
(코드 준비 중)
243번째 푼 문제 (2022/11/10)