개발/Leetcode
Leetcode 50. Pow(x, n)
지산동고라니
2023. 7. 24. 12:36
https://leetcode.com/problems/powx-n/description/
Pow(x, n) - LeetCode
Can you solve this real interview question? Pow(x, n) - Implement pow(x, n) [http://www.cplusplus.com/reference/valarray/pow/], which calculates x raised to the power n (i.e., xn). Example 1: Input: x = 2.00000, n = 10 Output: 1024.00000 Example 2: Inpu
leetcode.com
문제
pow(x,n) x의 n승을 계산하는 함수를 구현하여라
코드
class Solution:
def myPow(self, x: float, n: int) -> float:
ans = self.h(x, abs(n))
return float(ans) if n >= 0 else 1 / ans
def h(self, base, n):
if n == 0:
return 1
if n % 2 == 0:
return self.h(base * base, n / 2)
else:
return base * self.h(base * base, (n-1) / 2)
public class Solution
{
public double MyPow(double x, int n)
{
long N = Math.Abs(n);
bool isNeedReverse = n < 0;
return isNeedReverse ? 1 / rec(x, N) : rec(x, N);
}
public double rec(double b, long n)
{
if (n == 0)
{
return 1;
}
double bb = rec(b, n / 1);
return n % 2 == 0 ? bb * bb : b * bb * bb;
}
}