문제
지수는 numerator / denominator 형태입니다. base_value를 해당 지수로 거듭제곱한 실수 결과를 반환하세요. 예를 들어, 지수가 1/3이면 양의 세제곱근이 됩니다.
real_to_rational_power(base_value, numerator, denominator)을 구현하세요.
입력
base_value: 양의 밑값입니다.
numerator: 지수의 분자입니다.
denominator: 지수의 분모입니다.
출력
base_value를 numerator / denominator 지수로 거듭제곱한 값을 반환하세요.
제약 조건
0.1 ≤ base_value ≤ 100, 소수점 둘째 자리까지 입력될 수 있습니다. −6 ≤ numerator ≤ 6; 1 ≤ denominator ≤ 10. 정답은 절대 오차 또는 상대 오차 0.000001 이내로 허용됩니다.
예시
입력:
numerator = 1
base_value = 8.0
denominator = 3
예상 출력:
expected = 2.0
입력:
long long numerator = 1;
double base_value = 8.0;
long long denominator = 3;
예상 출력:
double expected = 2.0;
입력:
long numerator = 1;
double base_value = 8.0;
long denominator = 3;
예상 출력:
double expected = 2.0;
설명
2 × 2 × 2 = 8이므로, 세제곱근은 2입니다.
입력:
numerator = -1
base_value = 16.0
denominator = 2
예상 출력:
expected = 0.25
입력:
long long numerator = -1;
double base_value = 16.0;
long long denominator = 2;
예상 출력:
double expected = 0.25;
입력:
long numerator = -1;
double base_value = 16.0;
long denominator = 2;
예상 출력:
double expected = 0.25;
설명
16의 제곱근은 4이고, 음수 지수는 역수를 취하므로 1/4이 됩니다.
접근 방법
먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.
힌트 1
먼저 지수의 분수형을 하나의 실수 지수로 바꾸세요.
힌트 2
그다음 양의 밑에 실수 거듭제곱을 적용하면 됩니다.
힌트 3
음수 지수는 역수가 되도록 하고, 분수 제곱근 처리에서 실수하지 마세요.
예상 복잡도
시간 O(1), 추가 공간 O(1)
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.